2012-09-18 16 views
81

मैं सफलतापूर्वक उपयोग 26-09-2012 को 26 Sep 2012 प्रारूप के बारे में कुछ परिवर्तित कर दिया है प्राप्त करने के लिए के बाद निश्चित घंटे और मिनट की स्थापना:अजगर datetime - strptime का उपयोग कर दिन, माह, वर्ष

datetime.strptime(request.POST['sample_date'],'%d %b %Y')

हालांकि, मुझे नहीं पता पता है कि उपरोक्त की तरह कुछ समय और मिनट कैसे सेट करें 11:59। क्या किसी को भी यह करना आता है?

नोट, यह भविष्य की तारीख या किसी भी यादृच्छिक व्यक्ति हो सकता है, न केवल वर्तमान तिथि।

उत्तर

202

उपयोग datetime.replace:

from datetime import datetime 
date = datetime.strptime('26 Sep 2012', '%d %b %Y') 
newdate = date.replace(hour=11, minute=59) 
+6

तो काम है, लेकिन इतनी आसानी से अनदेखी की। –

+0

त्वरित उत्तर के लिए धन्यवाद! :) बस उत्सुक है अगर अतिरिक्त तिथि चर के बिना ऐसा करने का कोई तरीका है? (मैं एक अजगर नौसिखिया हूँ) – user1678031

+1

हां, बस 'date = datetime.strptime (' 26 सितंबर 2012 ','% d% b% y ') करें। प्रतिस्थापित करें (घंटा = 11, मिनट = 59) '। मैंने अतिरिक्त चर का उपयोग किया ताकि लाइन बहुत लंबी न हो :) – nneonneo

8

datetime.replace() सबसे अच्छा विकल्प प्रदान करेगा। इसके अलावा, यह दिन, वर्ष और महीने को बदलने के लिए सुविधा प्रदान करता है।

मान लीजिए हम एक datetime वस्तु है और तारीख के रूप में प्रस्तुत किया जाता है: "2017-05-04"

>>> from datetime import datetime 
>>> date = datetime.strptime('2017-05-04',"%Y-%m-%d") 
>>> print(date) 
2017-05-04 00:00:00 
>>> date = date.replace(minute=59, hour=23, second=59, year=2018, month=6, day=1) 
>>> print(date) 
2018-06-01 23:59:59 
संबंधित मुद्दे