कल की तारीख पाने के लिए सबसे साफ और सबसे पाइथोनिक तरीका क्या है? महीने के अंत में दिन के लिए एक जोड़ने के लिए की तुलना में, संभाल दिन, एक बेहतर तरीका होना चाहिए आदिकल की तारीख पाने के लिए सबसे साफ और सबसे पाइथोनिक तरीका?
उत्तर
datetime.date.today() + datetime.timedelta(days=1)
चाल
timedelta
दिनों, सेकंड, माइक्रोसेकंड, मिलीसेकंड जोड़ने संभाल कर सकते हैं करना चाहिए, मिनट, घंटे, या सप्ताह।
>>> import datetime
>>> today = datetime.date.today()
>>> today
datetime.date(2009, 10, 1)
>>> today + datetime.timedelta(days=1)
datetime.date(2009, 10, 2)
>>> datetime.date(2009,10,31) + datetime.timedelta(hours=24)
datetime.date(2009, 11, 1)
के रूप में एक टिप्पणी में पूछा, छलांग दिनों कोई समस्या पैदा:
>>> datetime.date(2004, 2, 28) + datetime.timedelta(days=1)
datetime.date(2004, 2, 29)
>>> datetime.date(2004, 2, 28) + datetime.timedelta(days=2)
datetime.date(2004, 3, 1)
>>> datetime.date(2005, 2, 28) + datetime.timedelta(days=1)
datetime.date(2005, 3, 1)
leap seconds यद्यपि का कोई हैंडलिंग:
>>> from datetime import datetime, timedelta
>>> dt = datetime(2008,12,31,23,59,59)
>>> str(dt)
'2008-12-31 23:59:59'
>>> # leap second was added at the end of 2008,
>>> # adding one second should create a datetime
>>> # of '2008-12-31 23:59:60'
>>> str(dt+timedelta(0,1))
'2009-01-01 00:00:00'
>>> str(dt+timedelta(0,2))
'2009-01-01 00:00:01'
रफ़ू।
संपादित करें - @Mark: डॉक्स "हां", लेकिन कोड कहते हैं, "नहीं इतना":
>>> time.strptime("2008-12-31 23:59:60","%Y-%m-%d %H:%M:%S")
(2008, 12, 31, 23, 59, 60, 2, 366, -1)
>>> time.mktime(time.strptime("2008-12-31 23:59:60","%Y-%m-%d %H:%M:%S"))
1230789600.0
>>> time.gmtime(time.mktime(time.strptime("2008-12-31 23:59:60","%Y-%m-%d %H:%M:%S")))
(2009, 1, 1, 6, 0, 0, 3, 1, 0)
>>> time.localtime(time.mktime(time.strptime("2008-12-31 23:59:60","%Y-%m-%d %H:%M:%S")))
(2009, 1, 1, 0, 0, 0, 3, 1, 0)
मुझे लगता है कि gmtime या स्थानीयसमय mktime से लौट आए और मुझे दिया मूल्य ले जाएगा लगता होगा मूल tuple वापस, 60 सेकंड के साथ सेकंड के रूप में। और इस परीक्षण से पता चलता है कि इन छलांग सेकंड बस दूर नहीं हो पाती कर सकते हैं ...
>>> a = time.mktime(time.strptime("2008-12-31 23:59:60","%Y-%m-%d %H:%M:%S"))
>>> b = time.mktime(time.strptime("2009-01-01 00:00:00","%Y-%m-%d %H:%M:%S"))
>>> a,b
(1230789600.0, 1230789600.0)
>>> b-a
0.0
'time.strftime' हैंडल लीप सेकंड: नोट 2 देखें: http://docs.python.org/library/time.html#time.strftime और नोट 3: http://docs.python.org/library/datetime .html # strftime-behavior –
ऐसा इसलिए है क्योंकि यूनिक्स समय लीप सेकंड को संभाल नहीं करता है। Http://en.wikipedia.org/wiki/Unix_time#History, http://www.mail-archive.com/[email protected]/msg00094.html, और POSIX स्वयं देखें। –
"प्रत्येक दिन हर 86400 सेकेंड के लिए जिम्मेदार होगा" http://www.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_15 –
यहां तक कि बुनियादी time
मॉड्यूल इस संभाल कर सकते हैं:
import time
time.localtime(time.time() + 24*3600)
सभी – Greg
में से अधिकांश सुरुचिपूर्ण समाधान यह संयुक्त राज्यों में डेलाइट सेविंग्स टाइम की सीमाओं में विफल रहता है, क्योंकि उन सीमाओं पर एक दिन में 23 घंटे होंगे और एक दिन में 25 घंटे होंगे। यह खाते में लीप सेकंड भी नहीं लेता है। –
@ चार्ल्सवुड: यह उत्तर एक अलग घंटे लौटा सकता है (कुछ समय क्षेत्र में) का मतलब है कि यह ** ** अलग-अलग तारीख ** (कल नहीं) वापस कर सकता है लेकिन यह हमेशा 24 घंटे आगे का समय लौटाता है (स्वीकृत उत्तर मध्यरात्रि वापस आता है (अब से अज्ञात घंटे))। मैं नहीं देखता कि कैसे लीप सेकंड परिणाम को तब तक बदल सकते हैं जब तक सिस्टम पर लीप सेकेंड के दौरान नहीं कहा जाता है जहां 23:59:60 और 00:00:00 समान टाइमस्टैम्प होता है। – jfs
- 1. सरणी से सबसे कम पाने के लिए सबसे तेज़ तरीका
- 2. महीने की पहली तारीख होने वाली तारीख बनाने का सबसे आसान तरीका,
- 3. रेडिस में कई हैंश पाने के लिए सबसे प्रभावी तरीका?
- 4. एक 2 डी सरणी खोजने के लिए सबसे साफ तरीका?
- 5. सूची में एक मैच खोजने के लिए सबसे साफ तरीका
- 6. कल की तारीख और आज की तारीख दिखाने के लिए जावास्क्रिप्ट कोड
- 7. MySQL कल की तारीख का चयन
- 8. एंडियननेस निर्धारित करने का सबसे पाइथोनिक तरीका क्या है?
- 9. बीआईटी मॉडल करने का सबसे साफ तरीका .NET MVC
- 10. एसक्यूएल प्रश्नों के साथ अच्छा पाने का सबसे अच्छा तरीका
- 11. सबसे छोटा और सबसे अच्छा तरीका है "आरंभीकृत"/साफ एक वर्ग उदाहरण
- 12. क्या "आज", "कल", "शुक्रवार" शैली की तारीखें पाने के लिए NSDateFormatter के साथ कोई आसान तरीका है?
- 13. रूबी में निर्देशिका में सभी फ़ाइलों की आवश्यकता के लिए सबसे साफ/एक-लाइनर तरीका?
- 14. उबंटू पर spidermonkey js पाने का सबसे अच्छा तरीका?
- 15. PHP: बहुआयामी सरणी को संशोधित करने का सबसे साफ तरीका?
- 16. पायथन सूची पर एक प्रकार के साथ uniq करने का सबसे साफ तरीका क्या है?
- 17. config.py में वैश्विक कॉन्फ़िगरेशन चर प्रदान करने के लिए सबसे पाइथोनिक तरीका?
- 18. कक्षाओं को कई वर्गों में विभाजित करने के लिए सबसे पाइथोनिक तरीका
- 19. कल की तारीख को परिभाषित करने के लिए रेल मार्ग क्या है?
- 20. लिए सबसे कारगर तरीका jQuery
- 21. एक enum ध्वज के सभी बिट्स पाने के लिए सबसे अच्छा तरीका है?
- 22. सबसे कुशल तरीका एक नंबर के सभी divisors पाने के लिए
- 23. जावा ईई - अपलोड की गई फाइलों के वास्तविक रास्ते को पाने का सबसे अच्छा तरीका?
- 24. "ढूंढें" के बराबर पाने के लिए सबसे आसान तरीका। अजगर में?
- 25. लाइसेंस सॉफ्टवेयर के लिए सबसे सुरक्षित तरीका
- 26. थंबनेल बनाने के लिए सबसे कुशल तरीका?
- 27. सबसे अच्छा तरीका करने के लिए
- 28. सबसे अच्छा तरीका खोजने के लिए
- 29. निर्देशिका आकारों की गणना करने के लिए सबसे तेज़ तरीका
- 30. स्थान की निगरानी करने के लिए सबसे अच्छा तरीका
यह लीप वर्ष संभालती ठीक? – Rook
@ldigas: हाँ यह करता है। – nosklo