एपॉक मिलीसेकंड टाइमस्टैम्प क्या है?
यूनिक्स एपॉक टाइमस्टैम्प वह समय गिनता है जो 1970-01-01 00:00:00 UTC से अब तक बीत चुका है — इसी क्षण को "एपॉक" कहते हैं। कई प्रोग्रामिंग भाषाएँ और API (जैसे JavaScript का Date.now(), Java का System.currentTimeMillis(), और कई JSON रिस्पॉन्स) इस मान को सेकंड के बजाय मिलीसेकंड में दर्शाते हैं। यह कन्वर्टर उसी कच्चे नंबर को एक साफ़, पढ़ने योग्य UTC तारीख और समय में बदल देता है।
इस कन्वर्टर का इस्तेमाल कैसे करें
अपना मिलीसेकंड वाला टाइमस्टैम्प इनपुट बॉक्स में पेस्ट या टाइप करें और सबमिट कर दें। टूल इस मान को 1000 से भाग देकर पूरे सेकंड निकालता है, और फिर उन सेकंड को एपॉक से शुरू करके कैलेंडर पर मैप करता है। आपको पूरी ISO 8601 स्ट्रिंग मिलती है (जैसे 2023-11-14T22:13:20Z) और साथ ही साल, महीना, दिन, घंटा, मिनट तथा सेकंड का अलग-अलग ब्योरा — और यह सब UTC में, इसलिए नतीजे पर आपके स्थानीय टाइम ज़ोन का कोई असर नहीं पड़ता।
फ़ॉर्मूला समझें
यह रूपांतरण सिर्फ़ दो आसान चरणों में होता है। पहले, seconds = floor(ms / 1000) सेकंड से नीचे का बचा हुआ हिस्सा हटा देता है। फिर, date = epoch + seconds उन सेकंड को 1 जनवरी 1970 की आधी रात में जोड़ देता है। लीप वर्ष, अलग-अलग महीनों की लंबाई वगैरह को कैलेंडर लॉजिक अपने आप संभाल लेता है।
$$\text{Date}_{\text{UTC}} = \text{Epoch}_{1970}\;+\;\frac{\text{Epoch Time (ms)}}{1000}\ \text{seconds}$$
$$\begin{gathered} \text{Date}_{\text{UTC}} = \text{Epoch}_{1970} + t_{s}\ \text{seconds} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} t_{s} &= \left\lfloor \dfrac{\text{Epoch Time (ms)}}{1000} \right\rfloor \\ \text{Epoch}_{1970} &= \text{1970-01-01T00:00:00Z} \end{aligned} \right. \end{gathered}$$
हल किया हुआ उदाहरण
1,700,000,000,000 ms लीजिए। इसे 1000 से भाग देने पर 1,700,000,000 सेकंड मिलते हैं। इसे एपॉक में जोड़ने पर नतीजा आता है 2023-11-14T22:13:20Z — यानी 14 नवंबर 2023, समय 22:13:20 UTC।
$$\frac{1{,}700{,}000{,}000{,}000}{1000} = 1{,}700{,}000{,}000\ \text{seconds}$$
$$\text{Date}_{\text{UTC}} = \text{Epoch}_{1970} + 1{,}700{,}000{,}000\ \text{seconds} = \text{2023-11-14T22:13:20Z}$$
अक्सर पूछे जाने वाले सवाल
क्या नतीजा मेरे स्थानीय समय में होता है? नहीं। किसी भी भ्रम से बचने के लिए आउटपुट हमेशा UTC (समन्वित सार्वभौमिक समय) में होता है। स्थानीय समय चाहिए तो इसमें अपने टाइम ज़ोन का ऑफ़सेट खुद जोड़ या घटा लें। (भारत के लिए यह UTC+5:30 है।)
अगर मेरे पास सेकंड हैं, मिलीसेकंड नहीं तो? दर्ज करने से पहले अपने सेकंड वाले टाइमस्टैम्प को 1000 से गुणा कर लें, या बस उसके आगे तीन शून्य लगा दें।
कोई टाइमस्टैम्प बहुत दूर भविष्य की या 1970 की तारीख क्यों दिखा सकता है? अगर सेकंड वाले मान को मिलीसेकंड समझकर डाला जाए तो वह 1970 के आसपास दिखेगा, जबकि पहले से मिलीसेकंड वाले मान में फिर से अतिरिक्त शून्य लगाने पर वह बहुत दूर भविष्य में चला जाएगा। हमेशा पक्का करें कि आपकी इकाई मिलीसेकंड ही है।