मैं एक 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
airider74 31 अक्टूबर 2019, 05:56

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>
1
RRR 31 अक्टूबर 2019, 04:10