टाइमस्टॅम्प स्वरूप
सामग्री:
सारांश
समस्या
आम्हाला टाइमस्टॅम्प वापरून आणि आमच्या सर्व प्रणाली व तृतीय-पक्ष प्रणालींमध्ये चांगले काम करणारे सुसंगत टाइमस्टॅम्प स्वरूप वापरून गोष्टी केव्हा घडतात हे ट्रॅक करता यायला हवे.
आम्ही वेगवेगळ्या टाइमस्टॅम्प स्वरूपांच्या प्रणालींशी परस्परक्रिया करतो:
JSON संदेशांमध्ये मूळ टाइमस्टॅम्प स्वरूप नसते, म्हणून टाइमस्टॅम्पचे स्ट्रिंगमध्ये आणि स्ट्रिंगचे टाइमस्टॅम्पमध्ये रूपांतर कसे करायचे, म्हणजे सीरियलाइझ/डीसीरियलाइझ कसे करायचे हे आम्हाला निवडावे लागते.
काही अनुप्रयोग UTC वेळेऐवजी स्थानिक वेळ वापरण्यासाठी सेट केलेले असतात. स्थानिक वेळेनुसार घटना घडवणाऱ्या प्रकल्पांसारख्या स्थानिक वेळेशी जुळवून घेणे आवश्यक असलेल्या प्रकल्पांसाठी हे सोयीचे असू शकते.
काही प्रणालींच्या वेळ अचूकतेच्या गरजा आणि क्षमता भिन्न असतात, जसे की सेकंद विरुद्ध मिलिसेकंद विरुद्ध नॅनोसेकंद असे वेळ रिझोल्यूशन वापरणे. उदाहरणार्थ, Linux ऑपरेटिंग सिस्टमचा
dateआदेश डीफॉल्ट वेळ अचूकता सेकंद वापरतो, तर Nasdaq शेअर बाजार डीफॉल्ट वेळ अचूकता नॅनोसेकंद मागतो.
निर्णय
आम्ही नॅनोसेकंद अचूकतेसह ISO 8601 हे प्रमाण टाइमस्टॅम्प स्वरूप निवडतो, विशेषतः "YYYY-MM-DDTHH:MM:SS.NNNNNNNNNZ".
हे स्वरूप वर्ष, महिना, दिवस, तास, मिनिट, सेकंद, नॅनोसेकंद आणि झुलू वेळ क्षेत्र उर्फ UTC, GMT दाखवते.
स्थिती
ठरले.
तपशील
गृहीतके
टाइमस्टॅम्पपासून स्ट्रिंगमध्ये रूपांतर करण्यासाठी (उर्फ सीरियलाइझ) आणि स्ट्रिंगपासून टाइमस्टॅम्पमध्ये रूपांतर करण्यासाठी (उर्फ डीसीरियलाइझ) आम्हाला हे टाइमस्टॅम्प मजकूर स्ट्रिंग हाताळाव्या लागतात.
आम्हाला सामान्यतः वापरण्यास सोपे, रूपांतरित करण्यास सोपे आणि माणसाला वाचण्यास सोपे असे स्वरूप हवे आहे.
आम्ही नियंत्रित करू शकत नसलेल्या बाह्य प्रणालींच्या विस्तृत श्रेणीशी, जसे की विश्लेषण प्रणाली, डेटाबेस प्रणाली, आर्थिक प्रणाली, सुसंगतता हवी आहे.
मर्यादा
काही प्रणालींना वेळ अचूकतेच्या मर्यादा असतात. उदाहरणार्थ, macOS ऑपरेटिंग सिस्टमचा date आदेश सेकंदांमध्ये वेळ अचूकता छापू शकतो, पण नॅनोसेकंदांमध्ये नाही.
मते
आम्ही पर्यायांच्या श्रेणीचा विचार केला:
Unix epoch म्हणजे एकच वाढणारी संख्या.
संक्षिप्त मजकूर स्वरूप "YYYYMMDDTHHMMSSNNNNNNNNN".
स्थानिक वेळ क्षेत्र विरुद्ध UTC वेळ क्षेत्र वापरणे.
युक्तिवाद
सामान्य वापरासाठी, आम्ही कच्च्या गतीपेक्षा/आकारापेक्षा माणसांना वाचायला/लिहायला सोपे असण्याला जास्त महत्त्व देतो.
सामान्य वापरासाठी, आम्हाला मशीन प्रणालींमध्ये चांगले काम करणारे आणि नमुना डेटा लिहिणे, JSON आउटपुट वाचणे, लॉग फाईल grep करणे इत्यादी हाताने करतानाही चांगले काम करणारे स्वरूप हवे आहे.
उच्च कार्यक्षमता संगणनासारख्या असामान्य वापरासाठी, आम्ही निवडलेले कोणतेही मजकूर स्वरूप मजकुराचे वेगवान स्वरूपात, जसे की प्रोग्रामिंग भाषेच्या अंगभूत तारीख ऑब्जेक्ट प्रकारात, रूपांतर करून अनुकूल करू इच्छितो असे आम्हाला वाटते. म्हणजे HPC साठी मजकूर स्वरूप फारसे महत्त्वाचे नाही.
परिणाम
आमच्या विविध मजकूर प्रणाली आणि वेळ प्रणाली या स्वरूपावर एकत्र येतील.
संबंधित
संबंधित निर्णय
आम्हाला कालावधी उर्फ ड्युरेशन ट्रॅक करण्याचा जलद/सोपा मार्गही हवा असू शकतो. Unix epoch टाइमस्टॅम्पसह हे सोपे आहे.
संबंधित आवश्यकता
आम्हाला आमचा निर्णय समायोजित करावा लागू शकतो, उदा. Splunk, Sumo, ELK इत्यादींसाठी विशिष्ट प्रकारच्या लॉगिंग संदेश शिक्क्याची संबंधित आवश्यकता असल्यास.
संबंधित आर्टिफॅक्ट्स
भाषा फॉरमॅटर आणि पार्सर:
Rosetta Code उदाहरणे:
SixArm उदाहरणे:
संबंधित तत्त्वे
सहज पलटवता येण्याजोगे. आम्ही Unix epoch सारख्या वेगळ्या स्वरूपात बऱ्यापैकी सहज बदलू शकतो.
अकाली अनुकूलन पुढे ढकला. सामान्य वापरासाठी डॅश आणि कोलन वापरणाऱ्या स्वरूपासारख्या मूठभर अतिरिक्त अक्षरांची आम्हाला फारशी चिंता नसते.
टिपा
येथे टिपा जोडा.