Unix टाइमस्टैम्प परिवर्तक
Unix टाइमस्टैम्प (epoch) को पढ़ने योग्य तारीख़ में बदलें — आपके स्थानीय समय, UTC और ISO 8601 में — या किसी भी तारीख़ को वापस टाइमस्टैम्प में बदलें। सेकंड या मिलीसेकंड, दोनों में काम करता है।
—
मिलीसेकंड: —
ISO 8601: —
epoch मान पेस्ट करें। अगर आपका टाइमस्टैम्प मिलीसेकंड में है तो टॉगल का उपयोग करें।
उसका Unix टाइमस्टैम्प पाने के लिए एक तारीख़ और समय चुनें।
Unix टाइमस्टैम्प परिवर्तक का उपयोग कैसे करें
- 1
टाइमस्टैम्प दर्ज करें
किसी Unix टाइमस्टैम्प को “टाइमस्टैम्प से तारीख़” फ़ील्ड में पेस्ट करें या टाइप करें, और सेकंड / मिलीसेकंड टॉगल को अपने मान के अनुसार बदलें।
- 2
तारीख़ पढ़ें
उस पल को अपने स्थानीय टाइम ज़ोन में, UTC में, ISO 8601 स्ट्रिंग के रूप में, और “3 घंटे पहले” जैसे सापेक्ष समय के रूप में देखें।
- 3
तारीख़ को वापस बदलें
“तारीख़ से टाइमस्टैम्प” पिकर का उपयोग करके कोई भी तारीख़ और समय चुनें और उसका epoch मान सेकंड व मिलीसेकंड में पाएँ।
- 4
नतीजा कॉपी करें
किसी भी मान पर कॉपी क्लिक करके उसे अपने क्लिपबोर्ड पर रखें, जो कोड, डेटाबेस क्वेरी, या API अनुरोध में डालने के लिए तैयार रहता है।
Unix समय: डेवलपर्स के लिए एक स्पष्ट व्याख्या
Unix टाइमस्टैम्प क्या होता है
Unix टाइमस्टैम्प एक अकेली संख्या होती है जो समय के किसी एक पल को दर्शाती है: यह Unix epoch — यानी January 1, 1970 की आधी रात UTC — से अब तक बीते सेकंडों की गिनती है। उदाहरण के लिए, टाइमस्टैम्प 1700000000, November 14, 2023 को 22:13:20 UTC के बराबर है। बस एक ही संख्या पूरी तारीख़ और समय को बिना किसी अस्पष्टता के अपने में समेट लेती है।
चूँकि यह बस ऊपर की ओर बढ़ती एक पूर्णांक संख्या है, इसलिए Unix समय को संग्रहीत करना, क्रमबद्ध करना और तुलना करना बेहद आसान है। एक टाइमस्टैम्प को दूसरे से घटाइए और आपको दो घटनाओं के बीच का ठीक-ठीक सेकंडों का अंतर मिल जाता है। यही सादगी वह वजह है जिसके चलते यह कंप्यूटिंग के बड़े हिस्से की नींव बना हुआ है — फ़ाइल बदले जाने के समय से लेकर ऑथेंटिकेशन टोकन तक।
1970 ही क्यों
1970 का epoch दरअसल Unix ऑपरेटिंग सिस्टम की ऐतिहासिक देन है, जिसे उन्हीं दिनों Bell Labs में विकसित किया जा रहा था। इंजीनियरों को सिस्टम घड़ी के लिए एक तय संदर्भ बिंदु चाहिए था, और जिस दशक में वे काम कर रहे थे उसकी शुरुआत एक साफ़-सुथरा और सुविधाजनक विकल्प थी। यह चलन में आ गया, और दशकों बाद आज भी यह लगभग हर प्लेटफ़ॉर्म पर मानक बना हुआ है।
1970 में गणितीय रूप से कुछ भी खास नहीं है; यह बस एक साझा शून्य बिंदु है। मायने यह रखता है कि इस पर सबकी सहमति है। यही साझा संदर्भ वह चीज़ है जिसकी बदौलत किसी एक मशीन पर बना टाइमस्टैम्प किसी भी दूसरी मशीन द्वारा सही ढंग से समझा जा सकता है — चाहे वेंडर, भाषा या स्थान कुछ भी हो।
सेकंड बनाम मिलीसेकंड
पारंपरिक Unix समय सेकंड में मापा जाता है, लेकिन कई आधुनिक वातावरण ज़्यादा बारीक रिज़ॉल्यूशन के लिए मिलीसेकंड का उपयोग करते हैं। उदाहरण के लिए, JavaScript का Date.now मिलीसेकंड लौटाता है। इसे पहचानने का व्यावहारिक तरीका अंकों की गिनती है: सेकंड में मौजूदा टाइमस्टैम्प 10 अंकों का होता है, जबकि वही पल मिलीसेकंड में 13 अंकों का होता है — यानी लगभग एक हज़ार गुना बड़ा।
इन दोनों इकाइयों को आपस में गड्ड-मड्ड कर देना एक आम बग है। सेकंड की अपेक्षा रखने वाले किसी फ़ंक्शन में अगर आप मिलीसेकंड का मान डाल देंगे, तो आपकी तारीख़ भविष्य में हज़ारों साल आगे जा गिरेगी; और इसका उल्टा करने पर आप फिर से 1970 के आस-पास पहुँच जाएँगे। अगर बदली हुई तारीख़ बेतुकी लगे, तो सबसे पहले इकाई जाँचिए। इस टूल का सेकंड और मिलीसेकंड टॉगल ठीक इसी उलझन को एक क्लिक में सुलझाने के लिए मौजूद है।
UTC बनाम स्थानीय समय
Unix टाइमस्टैम्प अपने आप में किसी टाइम ज़ोन को साथ नहीं रखता। यह पृथ्वी पर हर जगह एक ही पल को दर्शाता है; आप Tokyo में हों या New York में, संख्या एक जैसी ही रहती है। टाइम ज़ोन तस्वीर में तभी आते हैं जब आप उस पल को पढ़ी जा सकने वाली तारीख़ में बदलते हैं — और यही वजह है कि एक ही टाइमस्टैम्प अलग-अलग जगहों पर घड़ी के अलग-अलग समय के रूप में दिखता है।
यह परिवर्तक दोनों रूप दिखाता है: आपका स्थानीय समय, जो आपके डिवाइस के टाइम ज़ोन के अनुसार स्वरूपित होता है, और UTC, जो सार्वभौमिक संदर्भ है। टाइमस्टैम्प को UTC में संग्रहीत और संचारित करना, और फिर केवल दिखाने भर के लिए उसे स्थानीय समय में बदलना — यही वह मानक तरीका है जो घंटों के फ़र्क वाली पूरी एक श्रेणी की बग से बचाता है, खासकर डेलाइट सेविंग टाइम के बदलावों के आस-पास।
वर्ष 2038 की समस्या
कई पुराने सिस्टम Unix समय को साइन्ड 32-बिट पूर्णांक (signed 32-bit integer) में संग्रहीत करते हैं, जो अधिकतम 2,147,483,647 का मान रख सकता है। यह सीमा January 19, 2038 को 03:14:07 UTC पर पहुँच जाती है। उसके ठीक एक सेकंड बाद काउंटर ओवरफ़्लो हो जाता है और घूमकर एक बड़ी ऋणात्मक संख्या बन जाता है, जिसे वे सिस्टम 1901 की किसी तारीख़ के रूप में समझ लेते हैं।
यह असल में वर्ष 2000 की समस्या की आधुनिक प्रतिध्वनि है, और यह एम्बेडेड डिवाइसों, पुराने डेटाबेसों, तथा 32-बिट समय का अब भी उपयोग करने वाले किसी भी कोड के लिए खतरा है। इसका हल है समय को एक चौड़े 64-बिट पूर्णांक में संग्रहीत करना, जो इस सीमा को सैकड़ों अरब साल आगे धकेल देता है। यह टूल खुद आपके ब्राउज़र में 32-बिट समय के बजाय JavaScript की बिल्ट-इन डेट हैंडलिंग का उपयोग करके चलता है, इसलिए यह 2038 से कहीं आगे की तारीख़ों को भी बिना किसी दिक्कत के बदल देता है।
दोनों दिशाओं में बदलना
टाइमस्टैम्प से तारीख़ तक जाने का मतलब है संख्या को epoch के बाद से बीते सेकंडों के रूप में मानकर उन्हें जोड़ देना। इसका उल्टा, यानी तारीख़ को टाइमस्टैम्प में बदलना, यह गणना करता है कि epoch और उस पल के बीच कितने सेकंड हैं। यह परिवर्तक दोनों ही काम करता है: किसी epoch मान को पेस्ट करके उसकी तारीख़ पढ़िए, या पिकर में कोई तारीख़ चुनकर उसका टाइमस्टैम्प पाइए।
सापेक्ष-समय वाला नतीजा, जैसे “3 घंटे पहले”, मौजूदा पल में से टाइमस्टैम्प को घटाकर और उस अंतर को सरल भाषा में बताकर निकाला जाता है। किसी मान को एक नज़र में परखने के लिए यह बड़े काम का है, क्योंकि जो लॉग प्रविष्टि खुद को भविष्य के दो साल आगे का होने का दावा करे, वह ज़ाहिर तौर पर संदिग्ध है।
Unix समय आपको कहाँ-कहाँ मिलेगा
Unix टाइमस्टैम्प सॉफ़्टवेयर में हर जगह मौजूद हैं। सर्वर लॉग हर पंक्ति पर एक टाइमस्टैम्प लगाते हैं ताकि घटनाओं को ठीक-ठीक क्रम में रखा जा सके। REST API इन्हें created_at और expires_at जैसे फ़ील्ड में लौटाते हैं, क्योंकि ये भाषा-निरपेक्ष और संक्षिप्त होते हैं। डेटाबेस इन्हें क्रमबद्ध करने और समय-अवधि वाली क्वेरी के लिए उपयोग करते हैं, और JWT समाप्ति-समय को Unix टाइमस्टैम्प के रूप में एनकोड करते हैं।
डेवलपर्स और विश्लेषकों के लिए इन मानों को झटपट पढ़ पाना रोज़ की ज़रूरत है। जब आप किसी API प्रतिक्रिया को डीबग कर रहे हों, किसी लॉग फ़ाइल को खंगाल रहे हों, या यह जाँच रहे हों कि कोई टोकन कब समाप्त होगा, तब कच्ची संख्या को किसी परिवर्तक में डाल देना एक अबूझ पूर्णांक को ऐसी तारीख़ में बदल देता है जिसे आप ठीक से समझ सकें — आपके स्थानीय समय और UTC, दोनों में, और सेकंड या मिलीसेकंड में।
अक्सर पूछे जाने वाले प्रश्न
Unix टाइमस्टैम्प क्या है?
मेरा टाइमस्टैम्प सेकंड में है या मिलीसेकंड में?
यह परिवर्तक कौन-सा टाइम ज़ोन उपयोग करता है?
वर्ष 2038 की समस्या क्या है?
क्या मेरा डेटा किसी सर्वर पर भेजा जाता है?
संबंधित टूल्स
इन उपयोगी टूल्स के साथ आगे बढ़ें