← सभी टूल

Unix Timestamp कनवर्टर

ब्राउज़र में Unix Timestamp और तारीखें तुरंत बदलें। Epoch टाइम, सेकंड और मिलीसेकंड, UTC की समस्याएं और वर्ष 2038 की समस्या जानें।

Unix टाइमस्टैम्प — बिना सिरदर्द के

तीन डेवलपर्स से पूछिए कि अभी कितना बजा है और आपको तीन अलग-अलग जवाब मिल सकते हैं, जो इस बात पर निर्भर करेगा कि वे कहाँ बैठे हैं। एक Unix टाइमस्टैम्प से पूछिए और आपको ठीक एक संख्या मिलती है — दुनिया के हर कोने में सबके लिए एक जैसी। यही एकल पूर्णांक वजह है कि epoch समय चुपचाप हर उस लॉग फ़ाइल, डेटाबेस पंक्ति और API प्रतिक्रिया की नींव में है जिसे आप कभी न कभी छुएँगे। यह पृष्ठ बताता है कि उस संख्या का अर्थ क्या है, इसे दोनों दिशाओं में कैसे पढ़ें, और यह लोगों को कहाँ धोखा देती है।

एक चमकती घड़ी जो प्रकाश-अंकों की धारा में घुलती जा रही है, Unix epoch समय को दर्शाती हुई
Epoch समय एक अकेला काउंटर है जो 1970 से लगातार आगे बढ़ता जा रहा है।

Unix समय वास्तव में क्या है

एक Unix टाइमस्टैम्प उन सेकंडों की संख्या है जो 1 जनवरी 1970 को 00:00:00 UTC के बाद से बीत चुके हैं — लीप सेकंड को छोड़कर। उस क्षण को epoch कहा जाता है, और इसे शुरुआती Unix इंजीनियरों ने केवल इसलिए चुना क्योंकि यह गिनती शुरू करने के लिए एक सुविधाजनक, सुगोल तारीख़ थी। epoch पर मान ठीक 0 होता है। उसके बाद हर सेकंड एक जोड़ता है, इसलिए संख्या केवल बढ़ती है। 1970 से पहले की तारीख़ें भी पूरी तरह वैध हैं, जिन्हें ऋणात्मक पूर्णांकों के रूप में व्यक्त किया जाता है।

आप इस अवधारणा को POSIX time या सामान्य रूप से epoch time भी कहते सुनेंगे। लेबल कुछ भी हो, यांत्रिकी एक ही है: सेकंडों का एक सदा-बढ़ता काउंटर। चूँकि यह एक साधारण पूर्णांक है न कि कोई फ़ॉर्मैट की गई स्ट्रिंग, कंप्यूटर इसे कुछ बाइट्स में संग्रहीत कर सकता है और दो को एक घटाव से तुलना कर सकता है।

सेकंड, मिलीसेकंड और उनके साथी

क्लासिक Unix समय पूरे सेकंड गिनता है, जिससे आज आप जो परिचित दस अंकों की संख्या देखते हैं वह बनती है। लेकिन कई परिवेशों को बारीक रिज़ॉल्यूशन की ज़रूरत होती है। JavaScript, उदाहरण के लिए, मिलीसेकंड में काम करता है, जिससे तेरह अंकों का मान बनता है, और कुछ सिस्टम माइक्रोसेकंड या नैनोसेकंड तक भी जाते हैं। एक भरोसेमंद नियम: दस अंकों की संख्या सेकंड है, तेरह अंक मिलीसेकंड। अगर आपकी परिवर्तित तारीख़ आज के बजाय 1970 के आसपास निकलती है, तो लगभग निश्चित रूप से आपने मिलीसेकंड को सेकंड फ़ील्ड में डाल दिया है, या उलटा। हमारा कन्वर्टर मात्रा स्वतः पहचानता है ताकि आपको अनुमान लगाना न पड़े।

डेवलपर इस पर क्यों भरोसा करते हैं

सबसे बड़ा फ़ायदा यह है कि टाइमस्टैम्प टाइमज़ोन-तटस्थ होता है। पूर्णांक 1735689600 टोक्यो, बर्लिन और साओ पाउलो में एक ही क्षण को संदर्भित करता है। किसी फ़ॉर्मैट की गई स्थानीय स्ट्रिंग की बजाय उस संख्या को संग्रहीत करने का मतलब है कि आपको यह सोचने की ज़रूरत नहीं कि कोई मान किस घड़ी का था। क्रमबद्ध करना भी आसान है, क्योंकि कालक्रम क्रम बस संख्यात्मक क्रम है, इसलिए टाइमस्टैम्प कॉलम पर डेटाबेस इंडेक्स किसी पार्सिंग के बिना घटनाओं को सही ढंग से क्रमबद्ध करता है। गणित भी उतना ही साफ है: दो घटनाओं के बीच का अंतर एक घटाव है, और एक दिन जोड़ना 86400 जोड़ना है। यही विशेषताएँ हैं जिनकी वजह से लॉग, टोकन, कैश और मैसेज क्यूज़ सभी epoch समय पर निर्भर करते हैं।

दोनों दिशाओं में रूपांतरण

टाइमस्टैम्प से मानव तारीख़ में जाने का मतलब है सेकंडों की गिनती लेना और उसे किसी कैलेंडर पर प्रक्षेपित करना, फिर जो टाइमज़ोन आप चाहते हों उसमें उसे फ़ॉर्मैट करना। दूसरी दिशा में जाने के लिए आप वर्ष, माह, दिन और समय लेते हैं, यह तय करते हैं कि यह किस टाइमज़ोन में व्यक्त है, और इसे epoch के बाद के सेकंडों में समेट देते हैं। हमारा टूल दोनों दिशाएँ तुरंत और पूरी तरह आपके ब्राउज़र में करता है, इसलिए आप जो भी पेस्ट करते हैं वह आपकी मशीन नहीं छोड़ता। एक संख्या पेस्ट करें इसे डीकोड करने के लिए, या कोई तारीख़ चुनें इसे एन्कोड करने के लिए, और परिणाम एक साथ UTC और अपने स्थानीय समय दोनों में पढ़ें।

epoch सेकंडों की बहती धारा के साथ एक चमकता टाइमलाइन रिबन जिस पर एक मार्कर सरकता है
एक टाइमलाइन पर एक मार्कर, जिसे UTC और स्थानीय समय दोनों के रूप में पढ़ा जा सकता है।

UTC बनाम स्थानीय समय — क्लासिक जाल

टाइमस्टैम्प में स्वयं कोई टाइमज़ोन नहीं होता; यह हमेशा UTC से बंधा होता है। भ्रम तभी उत्पन्न होता है जब आप इसे प्रदर्शित करते हैं। अगर आप 1700000000 कन्वर्ट करते हैं और आपकी स्क्रीन शाम का समय दिखाती है जबकि किसी दूसरे देश का सहकर्मी दोपहर देखता है, तो कुछ टूटा नहीं है — आप दोनों अलग-अलग स्थानीय घड़ियों में एक ही क्षण देख रहे हैं। बग तब आते हैं जब कोड किसी स्थानीय तारीख़ को UTC मानकर पढ़ता है, या ऑफ़सेट दर्ज किए बिना वॉल-क्लॉक समय स्टैम्प करता है। सुरक्षित आदत यह है कि UTC में संग्रहीत और प्रेषित करें, और स्थानीय ऑफ़सेट केवल अंतिम क्षण में लागू करें, जब आप किसी व्यक्ति को मान दिखाएँ। संदेह होने पर, अपनी स्थानीय लाइन के बजाय कन्वर्टर में UTC लाइन से तुलना करें।

वर्ष 2038 की समस्या

कई पुराने सिस्टमों ने Unix समय को साइन्ड 32-बिट पूर्णांक में संग्रहीत किया था। वह फ़ील्ड 19 जनवरी 2038 को 03:14:07 UTC के एक सेकंड बाद खत्म हो जाती है, जब काउंटर ओवरफ़्लो होकर एक ऋणात्मक संख्या में बदल जाता है, जो संभावित रूप से तारीख़ें 1901 तक वापस फेंक देता है। यह Y2K जैसी ही समस्या है। अच्छी खबर यह है कि आधुनिक ऑपरेटिंग सिस्टम और भाषाएँ काफ़ी हद तक 64-बिट टाइमस्टैम्प की ओर बढ़ चुकी हैं, जो लगभग 292 अरब वर्षों तक ओवरफ़्लो नहीं होंगी, इसलिए नए कोड के लिए यह आपात स्थिति से ज़्यादा एक ऐतिहासिक जिज्ञासा है जिसके बारे में जानना उचित है।

अधिक ब्राउज़र-आधारित सहायकों के लिए हमारे डेवलपर टूल्स देखें, और यदि आपको संख्याओं पर काम करना हो, तो कैलकुलेटर एक क्लिक की दूरी पर हैं।

अक्सर पूछे जाने वाले सवाल

Unix टाइमस्टैम्प क्या होता है?

यह 1 जनवरी 1970 को 00:00:00 UTC के बाद से बीते सेकंडों की संख्या है, लीप सेकंड को छोड़कर। उस शुरुआती क्षण को epoch कहा जाता है, और गिनती समय के साथ केवल बढ़ती जाती है।

मेरी संख्या 1970 के आसपास की तारीख़ में क्यों बदलती है?

संभवतः आपने सेकंड और मिलीसेकंड में गड़बड़ी की है। दस अंकों की संख्या सेकंड है और तेरह अंकों की संख्या मिलीसेकंड। मिलीसेकंड को सेकंड फ़ील्ड में डालने से स्पष्ट समय लगभग एक हज़ार से विभाजित हो जाता है, जिससे आप epoch के निकट पहुँच जाते हैं।

क्या Unix टाइमस्टैम्प में कोई टाइमज़ोन होता है?

नहीं। मान हमेशा UTC से बंधा होता है। टाइमज़ोन तभी चित्र में आता है जब आप टाइमस्टैम्प को मानव-पठनीय तारीख़ के रूप में प्रदर्शित करते हैं, इसीलिए एक ही संख्या अलग-अलग लोगों के लिए अलग-अलग वॉल-क्लॉक समय दिखा सकती है।

किसी तारीख़ को वापस टाइमस्टैम्प में कैसे बदलें?

वर्ष, माह, दिन और समय प्रदान करें, यह तय करें कि वह तारीख़ किस टाइमज़ोन में है, और टूल इसे epoch के बाद के सेकंडों में समेट देगा। आप इस पृष्ठ पर अपने ब्राउज़र में तुरंत दोनों दिशाएँ कर सकते हैं।

वर्ष 2038 की समस्या क्या है?

जो सिस्टम Unix समय को साइन्ड 32-बिट पूर्णांक में संग्रहीत करते हैं, वे 19 जनवरी 2038 को 03:14:07 UTC के एक सेकंड बाद ओवरफ़्लो हो जाते हैं। आधुनिक 64-बिट टाइमस्टैम्प इसे अरबों वर्षों के लिए टालते हैं, इसलिए अधिकांश वर्तमान सॉफ़्टवेयर प्रभावित नहीं है।

क्या मेरा डेटा किसी सर्वर पर भेजा जाता है?

नहीं। रूपांतरण पूरी तरह आपके ब्राउज़र में होता है, इसलिए आप जो भी टाइमस्टैम्प या तारीख़ पेस्ट करते हैं वह आपके अपने डिवाइस पर ही रहती है।