मैंने डेस्कटॉप एप्लिकेशन लिखा था और टाइमस्टैम्पिंग के लिए datetime.datetime.utcnow()
का उपयोग कर रहा था, हालांकि मैंने हाल ही में देखा है कि एप्लिकेशन का उपयोग करने वाले कुछ लोग एक ही समय में प्रोग्राम चलाते समय मुझसे अलग-अलग परिणाम प्राप्त करते हैं। क्या वेबसाइट से इसे लाने के लिए urllib का उपयोग किए बिना स्थानीय रूप से यूटीसी समय प्राप्त करने का कोई तरीका है?मैं पाइथन के साथ एक सटीक यूटीसी समय कैसे प्राप्त कर सकता हूं?
उत्तर
पायथन अंतर्निहित ऑपरेटिंग सिस्टम पर निर्भर करता है ताकि सटीक समय-समय पर घड़ी प्रदान की जा सके। यदि यह ऐसा नहीं कर रहा है, तो आपके पास ओ/एस को बाईपास करने के अलावा अन्य विकल्प नहीं हैं। एनटीपी क्लाइंट here का शुद्ध-पायथन कार्यान्वयन है। एक बहुत ही सरल दिमाग दृष्टिकोण:
>>> import ntplib,datetime
>>> x = ntplib.NTPClient()
>>> datetime.datetime.utcfromtimestamp(x.request('europe.pool.ntp.org').tx_time)
datetime.datetime(2009, 10, 21, 7, 1, 54, 716657)
हालांकि, यह बहुत लगातार वहाँ बाहर अन्य एनटीपी सर्वर पर मार होना अच्छा नहीं होगा। एक अच्छा नेट नागरिक ओटीएस सिस्टम घड़ी के बीच ऑफ़सेट का ट्रैक रखने के लिए एनटीपी क्लाइंट लाइब्रेरी का उपयोग करेगा और सर्वर से प्राप्त होता है और समय को समायोजित करने के लिए केवल समय-समय पर मतदान करता है।
वास्तव में, एनटीप्लिब राउंड-ट्रिप विलंब के लिए इस ऑफसेट एकाउंटिंग की गणना करता है। यह एनटीपी प्रतिक्रिया की "ऑफ़सेट" विशेषता के माध्यम से उपलब्ध है। इसलिए परिणाम बहुत जंगली नहीं होना चाहिए।
यह एक उपयोगी टिप्पणी है लेकिन यह एक उत्तर नहीं है। आपको इसे उपरोक्त टिप्पणियों में ले जाना चाहिए। – jfs
मुझे लगता है कि यह इस तरह का उत्तर प्रदान करता है कि ओपी (जंगली रूप से अलग-अलग परिणाम) का अवलोकन गलत हो सकता है। और कोई भी परमाणु घड़ी के बिना स्थानीय रूप से यूटीसी समय कैसे प्राप्त करना चाहता है? – Trilarion
@Trilarion: मुझे कुछ असामान्य नहीं दिखता है कि अलग-अलग कंप्यूटर अलग-अलग समय लौटते हैं। यहां तक कि [अगर समय एनटीपी का उपयोग कर सिंक्रनाइज़ किया गया है; यह इंटरनेट पर मिलीसेकंड के दसियों से भिन्न हो सकता है] (http://stackoverflow.com/a/97939/4279)। यूटीसी समय प्राप्त करने के लिए आपको स्थानीय परमाणु घड़ी की आवश्यकता नहीं है (जिसे वास्तविक समय में ज्ञात नहीं है, यदि आप नैनोसेकंड परिशुद्धता के दसियों चाहते हैं) मिलिओ-माइक्रोसॉन्ड परिशुद्धता के साथ, आप जीपीएस का उपयोग कर सकते हैं (उदाहरण के लिए, उसी एनटीपी सॉफ्टवेयर के माध्यम से)। पैमाने के लिए: [सापेक्ष प्रभाव प्रति दिन माइक्रोसॉन्ड हैं] (http://www.astronomy.ohio-state.edu/~pogge/Ast162/Unit5/gps.html) – jfs
- 1. स्ट्रेटोटाइम के माध्यम से मैं वर्तमान यूटीसी समय को सटीक रूप से कैसे प्राप्त करूं?
- 2. मैं यूटीसी समय के साथ कैलेंडर कैसे सेट कर सकता हूं?
- 3. मैं यूटीसी ऑफसेट द्वारा टाइमज़ोन कैसे निर्धारित कर सकता हूं?
- 4. मैं पाइथन में टर्मिनल आउटपुट कैसे प्राप्त कर सकता हूं?
- 5. मैं jQuery में स्थानीय समय कैसे प्राप्त कर सकता हूं?
- 6. मैं सी # में वर्तमान समय कैसे प्राप्त कर सकता हूं?
- 7. मैं पाइथन के साथ MIDI फ़ाइल कैसे लिख सकता हूं?
- 8. मैं gcov से अधिक सटीक परिणाम कैसे प्राप्त कर सकता हूं?
- 9. मैं प्रतिनिधि कैसे प्राप्त कर सकता हूं?
- 10. मैं सर्वर के समय के बजाय उपयोगकर्ता का स्थानीय समय कैसे प्राप्त कर सकता हूं?
- 11. मैं लंबे समय से क्यों नहीं प्राप्त कर सकता हूं?
- 12. मैं स्थानीय सर्वर का समय क्षेत्र कैसे प्राप्त कर सकता हूं?
- 13. पाइथन का समय कितना सटीक है। नींद()?
- 14. मैं एक जीएडीटी में साझाकरण कैसे प्राप्त कर सकता हूं?
- 15. मैं विजुअल स्टूडियो से सटीक कंपाइलर कमांड लाइन कैसे प्राप्त कर सकता हूं?
- 16. मैं पाइथन में एकाधिक प्रतिस्थापन कैसे कर सकता हूं?
- 17. क्या मैं पाइथन जनरेटर को याद कर सकता हूं?
- 18. मैं symfony2 में एक JSON कैसे प्राप्त कर सकता हूं
- 19. मैं एक फ़ाइल से CGImageRef कैसे प्राप्त कर सकता हूं?
- 20. मैं indexPath द्वारा एक uitableViewCell कैसे प्राप्त कर सकता हूं?
- 21. मैं एक गोल बटन कैसे प्राप्त कर सकता हूं?
- 22. Android GPS स्थान से सटीक समय टिकटें कैसे प्राप्त करें
- 23. मैं PHP के साथ एचटीएमएल कैसे आयात कर सकता हूं?
- 24. मैं आउटपुट कैप्चर कैसे कर सकता हूं और इसे एक ही समय में पायथन के साथ दिखा सकता हूं?
- 25. मैं पाइथन से फ़ाइल के अंतिम संशोधित समय को कैसे सेट कर सकता हूं?
- 26. मैं पर्ल में HTTP :: Async के साथ एक समय में 25 अनुरोध कैसे कर सकता हूं?
- 27. मैं पाइथन में बंदरगाह कैसे कर सकता हूं?
- 28. मैं java.util.regex के साथ आंशिक मिलान कैसे कर सकता हूं। *?
- 29. मैं लूप के लिए शीर्ष पर कुंजी के साथ-साथ मूल्य कैसे प्राप्त कर सकता हूं?
- 30. मैं पाइथन को अपवादों को पकड़ने के लिए सबसे ज्यादा कैसे प्राप्त कर सकता हूं?
और बंदरगाह के साथ, आप उस ऑफ़सेट को रिकॉर्ड कर सकते हैं, और ऑफ़सेट लागू करने के लिए डेटाटाइम लाइब्रेरी विधि को बदल सकते हैं जब भी एप्लिकेशन का कुछ हिस्सा समय के लिए पूछता है। यह अच्छा होगा अगर समय और डेटाटाइम लाइब्रेरी स्वचालित रूप से इस तरह के ऑफ़सेट को संभालेगी। आप इसे बता सकते हैं कि आप असली दुनिया का समय चाहते हैं, यह एक एनटीपी सर्वर मारा जाएगा, ऑफ़सेट रिकॉर्ड करेगा, और उस समय हर बार इसे लागू करेगा। –
यह अनुरोध करने के "राउंड-ट्रिप-टाइम" के लिए जिम्मेदार नहीं है। आप जो करना चाहते हैं वह 'time.clock()' का उपयोग करने के लिए 'एनटीपी क्लाइंट()' का जवाब देने में कितना समय लगता है, इसे आधा विभाजित करें और उस समय में जोड़ें। यह सही है। –