Unix टाइमस्टैम्प को मानव-पठनीय तिथियों में कैसे बदलें
त्वरित जवाब
Unix timestamp = 1970-01-01 00:00:00 UTC से सेकंड (या millisecond)। JavaScript में new Date(timestamp * 1000) (सेकंड) या new Date(timestamp) (millisecond) से तिथि में बदलें। हमारे Timestamp Converter से ब्राउज़र में दोनों करें।
परिचय
Unix timestamp (epoch time या POSIX time भी) 1970-01-01 00:00:00 UTC (Unix epoch) से बीते सेकंडों की संख्या है, leap second को छोड़कर। यह computing में समय की lingua franca है क्योंकि एकल integer जो timezone-स्वतंत्र और क्रम में सरल है। अधिकांश सिस्टम सेकंड उपयोग करते हैं; JavaScript और कई डेटाबेस millisecond उपयोग करते हैं।
क्रमशः
-
सेकंड बनाम मिलीसेकंड को समझें
अधिकांश बैकएंड सिस्टम और APIs सेकंड का उपयोग करते हैं (2286 तक 10-अंकीय टाइमस्टैम्प)। जावास्क्रिप्ट की तिथि और जावा का त्वरित उपयोग मिलीसेकंड (13-अंकीय)। हमेशा पुष्टि करें कि API किस इकाई की अपेक्षा करता है - उन्हें मिलाने से तारीख 1000 के कारक से बदल जाती है (~31 वर्ष कम)।
-
टाइमस्टैम्प को पढ़ने योग्य दिनांक में बदलें
टाइमस्टैम्प को टाइमस्टैम्प कनवर्टर में चिपकाएँ। यह लंबाई के आधार पर सेकंड बनाम मिलीसेकंड (10 बनाम 13 अंक) का पता लगाता है और यूटीसी और आपके स्थानीय समयक्षेत्र में तारीख प्रदर्शित करता है। कोड में: new Date(1700000000 * 1000).toISOString() '2023-11-14T22:13:20.000Z' लौटाता है।
-
दिनांक को टाइमस्टैम्प में बदलें
कनवर्टर में दिनांक और समय दर्ज करें; यह यूनिक्स टाइमस्टैम्प लौटाता है। कोड में: Math.floor(new Date('2026-08-28T12:00:00Z').getTime() / 1000) युग सेकंड लौटाता है। स्थानीय समय की अस्पष्टता से बचने के लिए हमेशा समय क्षेत्र (Z या ऑफसेट) निर्दिष्ट करें।
-
समय क्षेत्र को सही ढंग से संभालें
यूनिक्स टाइमस्टैम्प हमेशा यूटीसी होते हैं - उनका कोई समय क्षेत्र नहीं होता है। केवल प्रेजेंटेशन परत पर स्थानीय डिस्प्ले में कनवर्ट करें। कभी भी स्थानीय समय को टाइमस्टैम्प के रूप में संग्रहित न करें; यूटीसी को स्टोर करें और डिस्प्ले पर कनवर्ट करें। सही DST प्रबंधन के लिए Intl.DateTimeFormat के साथ IANA समयक्षेत्र नाम (अमेरिका/न्यूयॉर्क) का उपयोग करें।
-
तिथियों के बीच अंतर की गणना करें
सेकंड (या मिलीसेकंड) में अंतर प्राप्त करने के लिए दो टाइमस्टैम्प घटाएं। मिनटों के लिए 60, घंटों के लिए 3600, दिनों के लिए 86400 से विभाजित करें। मानव-अनुकूल सीमाओं के लिए हमारे दिनांक अंतर टूल का उपयोग करें, या जन्म-तिथि-आधारित आयु के लिए आयु कैलकुलेटर का उपयोग करें।
उदाहरण
यूनिक्स युग
इनपुट: 0 (seconds)
उत्पादन: 1970-01-01 00:00:00 यूटीसी
युग के बाद एक अरब सेकंड
इनपुट: 1000000000 (seconds)
उत्पादन: 2001-09-09 01:46:40 यूटीसी
यूटीसी में 2026 की शुरुआत
इनपुट: 2026-01-01T00:00:00Z
उत्पादन: 1767225600 (सेकंड) / 1767225600000 (मिलीसेकंड)
दो तिथियों में अंतर
इनपुट: 1767225600 - 1700000000
उत्पादन: 67225600 seconds = 778.08 days ≥2 years 31 days
सामान्य समस्या
- सेकंड बनाम मिलीसेकंड भ्रम: मिलीसेकंड के रूप में पढ़ा जाने वाला 10-अंकीय टाइमस्टैम्प 1970 में एक तारीख देता है; जैसे ही सेकंड 32-बिट इंट ओवरफ्लो होता है, 13-अंकीय टाइमस्टैम्प पढ़ा जाता है। अंक गणना द्वारा इकाई का पता लगाएं या इसे API में स्पष्ट रूप से दस्तावेज़ित करें।
- स्थानीय समय को टाइमस्टैम्प के रूप में संग्रहीत करना: टाइमस्टैम्प UTC हैं। यदि आप UTC-5 पर सेट ब्राउज़र में Date.now() की गणना करते हैं और परिणाम को स्थानीय मानते हैं, तो DST ट्रांज़िशन आपके डेटा को वर्ष में दो बार एक घंटे के हिसाब से स्थानांतरित कर देगा।
- 2038-01-19 03:14:07 यूटीसी (वाई2038) पर 32-बिट ओवरफ़्लो: हस्ताक्षरित 32-बिट सेकंड टाइमस्टैम्प का उपयोग करने वाले सिस्टम इस बिंदु के बाद की तारीखों का प्रतिनिधित्व नहीं कर सकते हैं। नए सिस्टम में 64-बिट या मिलीसेकंड टाइमस्टैम्प का उपयोग करें।
- लीप सेकंड को नजरअंदाज कर दिया जाता है: यूनिक्स टाइमस्टैम्प लीप सेकंड को छोड़ देते हैं, इसलिए दो टाइमस्टैंप के बीच का अंतर बीते हुए एसआई सेकंड की संख्या के बराबर नहीं होता है। अधिकांश एप्लिकेशन इसे अनदेखा कर सकते हैं; उच्च परिशुद्धता खगोल विज्ञान और वित्त नहीं कर सकते।
सुझावों
- टाइमस्टैम्प को हमेशा यूटीसी में संग्रहित और प्रसारित करें; IANA टाइमज़ोन के साथ Intl.DateTimeFormat का उपयोग करके केवल डिस्प्ले लेयर पर स्थानीय समय में कनवर्ट करें।
- मानव-पठनीय APIs के लिए ISO 8601 स्ट्रिंग्स (जैसे 2026-08-28T12:00:00Z) का उपयोग करें और भंडारण के लिए टाइमस्टैम्प का उपयोग करें - ISO स्ट्रिंग्स में अपना समय क्षेत्र स्पष्ट रूप से होता है और यह स्पष्ट होता है।
- टाइमस्टैम्प की तुलना करते समय, दोनों तरफ एक ही इकाई (सेकंड या मिलीसेकंड) का उपयोग करें - एक इकाई बेमेल सबसे आम तारीख बग में से एक है।
- डिबगिंग के दौरान API प्रतिक्रियाओं की जांच करने के लिए हमारे टाइमस्टैम्प कनवर्टर का उपयोग करें - यह यूटीसी और स्थानीय समय दोनों दिखाता है ताकि आप टाइमज़ोन बग को तुरंत पहचान सकें।