##जावास्क्रिप्ट
const milliseconds = Date.now()
const seconds = Math.floor(milliseconds / 1000)
अजगर
import time
seconds = int(time.time())
milliseconds = time.time_ns() // 1_000_000
जावा
long milliseconds = System.currentTimeMillis();
long seconds = java.time.Instant.now().getEpochSecond();
PHP, गो, SQL और शेल
PHP: time()
Go: time.Now().Unix()
PostgreSQL: floor(extract(epoch from now()))
Shell: date +%s
जांचें कि प्राप्तकर्ता सिस्टम सेकंड या मिलीसेकंड की अपेक्षा करता है या नहीं। गलत घड़ी की तुलना में यूनिट का बेमेल होना अधिक आम है।
स्निपेट का उपयोग करने से पहले यूनिट को सत्यापित करें
जावास्क्रिप्ट Date.now() मिलीसेकंड लौटाता है। Python time.time() भिन्नात्मक भाग के साथ सेकंड लौटाता है; time.time_ns() पूर्णांक नैनोसेकंड लौटाता है। जावा का Instant पूरे युग सेकंड को नैनोसेकंड समायोजन से अलग करता है। कम-रिज़ॉल्यूशन रीडिंग में शून्य न जोड़ें और इसे नई मापी गई सटीकता के रूप में वर्णित करें।
यूनिट परीक्षण में निश्चित फिक्स्चर 1700000000 सेकंड या 1700000000000 मिलीसेकंड का उपयोग करें। दोनों को टाइमस्टैम्प कनवर्टर में 2023-11-14T22:13:20Z का उत्पादन करना चाहिए। फिक्स्ड फिक्स्चर बदलते वर्तमान-समय मूल्य की तुलना में ऑफ-बाय-1,000 त्रुटि को पहचानना आसान बनाते हैं।
जावास्क्रिप्ट दिनांक और मोनोटोनिक समय
const milliseconds = Date.now()
const seconds = Math.floor(milliseconds / 1000)
const isoUtc = new Date(milliseconds).toISOString()
const started = performance.now()
// Run the operation you want to measure.
const elapsedMilliseconds = performance.now() - started
पहले तीन भाव कैलेंडर समय को संदर्भित करते हैं। अंतिम दो एक मोनोटोनिक घड़ी के साथ अवधि मापते हैं और यूनिक्स टाइमस्टैम्प नहीं हैं। एक सिस्टम घड़ी सुधार Date.now() को बदल सकता है, जबकि एक बीता हुआ अवधि टाइमर का एक अलग उद्देश्य होता है।
बड़े पूर्णांकों को सुरक्षित रूप से परिवहन करें
पार्सिंग से पहले 19-अंकीय नैनोसेकंड मान को जावास्क्रिप्ट Number में परिवर्तित नहीं किया जाना चाहिए। जब प्राप्तकर्ता वातावरण बड़े पूर्णांकों को संरक्षित नहीं कर सकता है तो इसे JSON में दशमलव स्ट्रिंग के रूप में रखें। जहां समर्थित हो वहां स्ट्रिंग को BigInt में बदलें। हो सकता है कि आपका कनवर्टर प्राप्त करने से पहले ही JSON नंबर अपने अंतिम अंक खो चुका हो।
SQL के लिए, डेटाबेस इंजन और सत्र समय-क्षेत्र सेटिंग की जाँच करें। समान नाम वाले फ़ंक्शन विभिन्न प्रकार लौटा सकते हैं या सत्र क्षेत्र लागू कर सकते हैं। यूनिट अनुबंध को स्कीमा या एपीआई दस्तावेज़ में संग्रहीत करें और प्रत्येक आयात के बाद एक ज्ञात फिक्स्चर को सत्यापित करें। इंटरचेंज प्रारूप विकल्पों के लिए आईएसओ और यूनिक्स टाइम देखें।