का उपयोग करते समय दिनांक() के साथ समस्याएं मैं जावास्क्रिप्ट का उपयोग करके दो बार के बीच अंतर की गणना करने की कोशिश कर रहा हूं। यह सिर्फ मूल गणित है लेकिन मुझे JSON.stringify()
और JSON.parse()
का उपयोग करते समय इसके साथ कुछ समस्याएं प्रतीत होती हैं।JSON.stringify() और JSON.parse()
यदि आप सोच रहे हैं कि मैं JSON.stringify()
फ़ंक्शन को क्यों लागू कर रहा हूं, तो ऐसा इसलिए है क्योंकि मैं क्लाइंट पक्ष पर कुछ डेटा स्टोर करने के लिए स्थानीय संग्रहण का उपयोग करता हूं और जब भी ग्राहक मेरी वेबसाइट पर फिर से उतरता है तो इसका उपयोग करता है (यह तेज़ तरीका है सर्वर के लिए और अनुरोध करने के बजाय)। वह डेटा आमतौर पर थोड़ी देर में अपडेट होता है (मैं किसी अन्य वेबसाइट से एपीआई के माध्यम से डेटा को पकड़ रहा हूं), इसलिए मैंने data_update
वैरिएबल सेट किया है और मैं इसे अन्य डेटा के साथ संग्रहीत कर रहा हूं।
इस तरह से मैं स्थानीय भंडारण से संग्रहित डेटा को पकड़ रहा हूं और जांचता हूं कि data_update
(जो दिनांक/समय है) के बीच का अंतर और समय/दिनांक जब चेक किया गया है और देखें कि यह एक सप्ताह से अधिक है या नहीं/दिन/आदि।
इसलिए यही कारण है कि मैं JSON फ़ंक्शंस का उपयोग कर रहा हूं। मेरी समस्या यह है कि जब मैं स्थानीय भंडारण से डेटा पार्स कर रहा हूं, तो दिनांक Date()
ऑब्जेक्ट से अलग दिखता है।
मैं प्रति अगले आपरेशन करने के लिए कोशिश कर रहा हूँ कहते हैं:
var x = JSON.parse(JSON.stringify(new Date()));
var y = JSON.parse(this.get_local_storage_data(this.data_cache_key)); // the data object stored on local storage
var q = y.data_update; // this is the variable where the Date() was stored
console.log(Math.floor((x-q)/1000));
ऊपर null
वापस आ जाएगी। इसके अलावा जब मैं Math.floor(x)
परिणाम देखना चाहता हूं, तो यह null
फिर से लौटाता है।
तो मैं इस स्थिति में क्या कर सकता हूं? क्या इसे ठीक करने का कोई तरीका है ?
आप द्वारा इस तरह आक्रामक व्यवहार से बचने कर सकते हैं स्ट्रिंग/पार्स के बजाय रबू जैसे स्थानीय स्टोरेज रैपर का उपयोग करके जिसमें इसके अलावा कई अन्य त्रुटियां हैं। –