मैं एक HTML
canvas
पर रेखाएँ खींचने में मदद करने के लिए दो तिथियों के बीच के अंतर का उपयोग करने की कोशिश कर रहा हूँ। मैं एक तारीख को PHP
में जेनरेट करता हूं और दूसरे को निकालता हूं जो एक SQL
डेटाबेस में संग्रहीत है
जब मैं सब कुछ PHP
में रखता हूं तो प्रतिध्वनित आउटपुट ठीक वही होता है जिसकी मैं अपेक्षा करता हूं। हालांकि, जब मैं json_encode
आउटपुट, जिसे मैं एक पूर्णांक होने की उम्मीद करता हूं, canvas
पर अपनी इच्छित आकृति बनाने के लिए उपयोग करने के लिए, javascript
से एक पूरी तरह से अलग संख्या प्रस्तुत की जाती है।
मुझे पूरा यकीन है कि इसे json
एन्कोडिंग के साथ करना है ... लेकिन मुझे इस बारे में कोई संदर्भ नहीं मिला है कि इसे ठीक से कैसे किया जाए।
यहाँ PHP
है जिसका उपयोग मैं दिनांक अंतर आउटपुट को हथियाने, प्रारूपित करने और बनाने के लिए करता हूँ:
$sdt = new DateTime($row['sdate']);
$today = new DateTime('now');
$sdiff = date_diff($sdt, $today);
$sdelta = $sdiff->format("%a");
अगर मैं यह सब PHP
और या तो echo
वेरिएबल या echo
json_encode
वेरिएबल में रखूं तो मुझे अपेक्षित उत्तर मिलता है, जो कि 34 है।
echo $sdelta;
परिणाम 34
echo json_encode($sdelta);
परिणाम "34";
echo json_decode($sdelta);
34 में परिणाम;
हालाँकि जब मैं इस मान को javascript
चर के लिए निर्दिष्ट करता हूं और असाइनमेंट के परिणाम का परीक्षण करता हूं:
var diffdt = <?php echo json_encode($sdelta); ?>;
alert(diffdt);
alert
पॉपअप 199 दिखाता है।
अगर कोई इस मुद्दे पर मेरी मदद कर सकता है, तो मैं हमेशा के लिए आभारी रहूंगा।
अतिरिक्त जानकारी...
sdate
के लिए कॉलम प्रकारDATE
हैमैं जिस क्वेरी को निष्पादित कर रहा हूं वह डेटा प्राप्त करना है:
$stmt = $link->prepare("SELECT * FROM register WHERE id = ? "); $stmt->bind_param("i", $id); $stmt->execute(); $result = $stmt->get_result(); $num = $result->num_rows; $row = $result->fetch_assoc(); var_dump($row['sdate']);
- पंक्तियों की संख्या 1 है।
- vardump परिणाम है: string(10) "2019-09-27"
1 उत्तर
"नंबर (your_number)" विधि का उपयोग करना चाहिए मैंने यहां उपयोग किया है, नीचे की रेखा देखें:
<script type="text/javascript">
// To set two dates to two variables
var date1 = new Date("06/30/2019");
var date2 = new Date("07/30/2019");
// To calculate the time difference of two dates
var Difference_In_Time = date2.getTime() - date1.getTime();
// To calculate the no. of days between two dates
var Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24);
console.log(Number(Difference_In_Days));
</script>