जीएनयू date
आदेश के लिए जानकारी पृष्ठों इस उदाहरण में शामिल हैं:सी में एक टाइमज़ोन से दूसरे में प्रोग्रामेटिक रूप से समय कैसे परिवर्तित करें?
उदाहरण के लिए, जीएनयू
date
कमांड के साथ जब एक पेरिस घड़ी 6 से पता चलता है कि विचाराधीन "क्या समय न्यूयॉर्क में है जवाब कर सकते हैं : 30am अक्टूबर 31, 2004? " `TZ =" यूरोप/पेरिस "के साथ शुरुआत एक तिथि का उपयोग करके 'के रूप में में दिखाया गया है निम्नलिखित खोल प्रतिलेख:$ export TZ="America/New_York" $ date --date='TZ="Europe/Paris" 2004-10-31 06:30' Sun Oct 31 01:30:00 EDT 2004
इस उदाहरण में,' --date TZ ' संकार्य अपने स्वयं के साथ शुरू होता है' ' सेटिंग, इसलिए के बाकी ऑपरेटिंग ' यूरोप/पेरिस 'नियमों के अनुसार संसाधित किए गए हैं, स्ट्रिंग
2004-10-31 06:30
का इलाज करते हुए जैसे कि पेरिस में थे। हालांकि,date
कमान की उत्पादन के बाद से समग्र समय क्षेत्र नियमों के अनुसार कार्रवाई की है, यह न्यूयॉर्क समय का उपयोग करता है। (पेरिस में 2004 में छह घंटे न्यूयॉर्क के आगे सामान्य रूप से था, लेकिन इस उदाहरण एक संक्षिप्त हेलोवीन अवधि को दर्शाता है जब अंतराल पांच घंटे था।)
मैं में प्रोग्राम के एक ही बात अनिवार्य रूप से पूरा करने के लिए कोशिश कर रहा हूँ date
प्रोग्राम लाखों बार कॉल किए बिना सी। असल में मैं एक टाइमज़ोन में मनमाने ढंग से दिनांक और समय लेने का तरीका ढूंढ रहा हूं और इसे किसी अन्य समय में समकक्ष दिनांक और समय में सीधे या यूटीसी से रूपांतरण के माध्यम से परिवर्तित कर रहा हूं। मुझे इनपुट और आउटपुट समय के प्रारूपों की परवाह नहीं है जब तक कि मैं मानक कार्यों (strftime
/strptime
/mktime
/आदि) का उपयोग करके उन्हें कुशलतापूर्वक उपयोग कर सकता हूं।
date
कार्यक्रम इस coreutils
पैकेज के लिए आंतरिक जटिल दिनचर्या का उपयोग कर, मैं या तो मानक POSIX/लिनक्स दिनचर्या या एक बाहरी लाइब्रेरी का उपयोग सी में यह करने के लिए एक तरह से देख रहा हूँ पूरा करने के लिए प्रकट होता है। मैंने zoneinfo पर बहुत कुछ देखा जो आशाजनक लग रहा था लेकिन मुझे इसके साथ कुछ भी उपयोगी करने के लिए कोई पुस्तकालय नहीं मिल रहा है।
मैन्युअल गणनाओं के साथ कई सूक्ष्म मुद्दे शामिल हैं जिन्हें मैं डीएसटी जैसे संभालने से बचने की कोशिश कर रहा हूं। यह जानकारी ज़ोनिन्फो डेटाबेस में निहित है लेकिन इस तरह से नहीं है जो अब तक मेरे लिए उपयोगी साबित हुई है। –
उदा।, यह काम विशेष रूप से वेनेज़ुएला में खराब है - जो आधिकारिक तौर पर यूटीसी -4: 30 – Quintus