2011-09-20 8 views
80

मैं datetime और time मॉड्यूल के बीच अंतर को समझने की कोशिश कर रहा हूं, और प्रत्येक के लिए क्या उपयोग किया जाना चाहिए।पाइथन डेटाटाइम बनाम समय मॉड्यूल के बीच अंतर

मुझे पता है कि datetime तारीख और समय दोनों प्रदान करता है। time मॉड्यूल का उपयोग क्या है?

उदाहरणों की सराहना की जाएगी और समय क्षेत्र से संबंधित अंतर विशेष रूप से ब्याज के होंगे।

उत्तर

62

time मॉड्यूल मुख्य रूप से यूनिक्स टाइम टिकटों के साथ काम करने के लिए है; यूनिक्स युग के बाद से एक फ्लोटिंग पॉइंट नंबर के रूप में व्यक्त किया गया। datetime मॉड्यूल एक ही ऑपरेशन का समर्थन कर सकता है, लेकिन अधिक ऑब्जेक्ट उन्मुख प्रकारों का सेट प्रदान करता है, और समय क्षेत्र के लिए कुछ सीमित समर्थन भी प्रदान करता है।

+7

आगे, 'time' और' datetime.time' के बीच अंतर क्या हैं? – SparkAndShine

+0

विस्तारित गुणों के लिए अच्छा होगा जैसे कि यह रीयलटाइम/मोनोटोनिक है। POSIX मानक में आपके पास है: CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_THREAD, आदि ... POSIX घड़ियों पर देखें: http://stackoverflow.com/questions/3523442/difference-between-clock-realtime-and-clock-monotonic –

3

समय मॉड्यूल का उपयोग तब किया जा सकता है जब आपको किसी विशेष रिकॉर्ड के समय की आवश्यकता हो - जैसे कि कहें कि आपके पास प्रत्येक दिन लेनदेन के लिए एक अलग तालिका/फ़ाइल है, तो आपको केवल समय की आवश्यकता होगी। हालांकि समय डेटाटाइप आमतौर पर 212 के समय के बीच अंतर स्टोर करने के लिए उपयोग किया जाता है।

यह डेटाटाइम का उपयोग करके भी किया जा सकता है, लेकिन अगर हम केवल किसी विशेष दिन के लिए समय से निपट रहे हैं, तो समय मॉड्यूल का उपयोग किया जा सकता है।

डेटाटाइम का उपयोग रिकॉर्ड के लिए एक विशेष डेटा और समय को स्टोर करने के लिए किया जाता है। एक किराये एजेंसी में पसंद है। देय तिथि एक डाटाटाइम डेटाटाइप होगी।

3

यदि आप टाइमज़ोन में रुचि रखते हैं, तो आपको pytz के उपयोग पर विचार करना चाहिए।

+4

ऐसा लगता है कि समय और डेटाटाइम मॉड्यूल में सबसे ज्यादा दिलचस्पी है और उनके बीच टाइमज़ोन के अंतर हैं। सभी उचित सम्मान के साथ, इसमें एक और निर्भरता लाने के लिए काफी अप्रासंगिक है। – sbartell

+2

दोनों समय और डेटाटाइम मॉड्यूल में टाइमज़ोन का समर्थन वास्तव में बहुत खराब है ... यदि वह वास्तव में उपयोगी तरीके से टाइमज़ोन को संभालने में रूचि रखता है तो उसे वास्तव में pytz के बारे में पता होना चाहिए। आप इस मुद्दे को हल करने के लिए निर्भरताओं को लाते हैं कि आपकी वर्तमान निर्भरता आपकी समस्या का समाधान करने में आपकी सहायता नहीं कर रही हैं ... – donkopotamus

0

डीएसटी अस्पष्टता को रोकने के लिए time पर चिपकाएं।

व्यक्तिगत रूप से, मैं केवल prevent ambiguity issues with daylight savings time (DST) के लिए सिस्टम time मॉड्यूल का उपयोग करना पसंद करता हूं। स्थानीय समय बहुत आसान है से, किसी भी समय प्रारूप करने के लिए

रूपांतरण:

import time 
t = time.time() 
t_str = time.strftime('%Y-%m-%d %H:%M %Z', time.localtime(t)) 

आपके सिस्टम अतिरिक्त network time protocol (NTP) डेमॉन चलाता है, तो आप बहुत ठोस समय आधार होगा।