मैं एक datetime.datetimeवस्तु (उदाहरण के लिए, पायथन में datetime.datetime.now())किसी datetime.dateवस्तु का रिटर्न मान) कैसे परिवर्तित करूं ?
from datetime import datetimeकेवल दिनांक जोड़ सकते हैंfrom datetime import datetime, date
मैं एक datetime.datetimeवस्तु (उदाहरण के लिए, पायथन में datetime.datetime.now())किसी datetime.dateवस्तु का रिटर्न मान) कैसे परिवर्तित करूं ?
from datetime import datetimeकेवल दिनांक जोड़ सकते हैंfrom datetime import datetime, date
जवाबों:
date()विधि का प्रयोग करें :
datetime.datetime.now().date()
datetime.datetime.utcnow()और इसके बादdatetime.datetime.utcnow().date()
datetime.datetime.now(pytz.timezone('US/Pacific')).date()
प्रलेखन से:
उसी वर्ष, महीने और दिन के साथ वापसी की वस्तु।
आप datetime.datetime.date()विधि का उपयोग करें :
datetime.datetime.now().date()
जाहिर है, उपरोक्त अभिव्यक्ति (और चाहिए IMHO :) के रूप में लिखा जाना चाहिए:
datetime.date.today()
.today()) बताए गए उदाहरण के प्रश्न के लिए सबसे अधिक पायथोनिक है।
today()एक घंटा घटक भी है। इसलिए यदि आप करते हैं: losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y')और तब if losdat < datetime.datetime.today():यह हमेशा सच losdatहोगा क्योंकि मध्यरात्रि का एक समय घटक होगा जो टाइमस्टैम्प से पहले गिर जाएगाtoday()
datetime.datetime.today()इसके बजाय का उपयोग क्यों करें ? datetime.date.today()datetime.date
आप डेट डेट ऑब्जेक्ट को दिनांक समय ऑब्जेक्ट (दिनांक विधि) के साथ दिनांक में परिवर्तित कर सकते हैं, इस प्रकार है:
<datetime_object>.date()
import time
import datetime
# use mktime to step by one day
# end - the last day, numdays - count of days to step back
def gen_dates_list(end, numdays):
start = end - datetime.timedelta(days=numdays+1)
end = int(time.mktime(end.timetuple()))
start = int(time.mktime(start.timetuple()))
# 86400 s = 1 day
return xrange(start, end, 86400)
# if you need reverse the list of dates
for dt in reversed(gen_dates_list(datetime.datetime.today(), 100)):
print datetime.datetime.fromtimestamp(dt).date()
आप आज (आज की तारीख और दिन और घंटे के नाम) के लिए इस कोड फॉर्म को दर्ज कर सकते हैं :
datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')
'19 -09-09 सोम 17:37:56 '
और ( आज दिनांक बस) इस कोड को दर्ज करें :
datetime.date.today().strftime('%y-%m-%d')
'19 -09-10 '
वस्तु के लिए:
datetime.datetime.now().date()
datetime.datetime.today().date()
datetime.datetime.utcnow().date()
datetime.datetime.today().time()
datetime.datetime.utcnow().date()
datetime.datetime.utcnow().time()
datetime.dateऑब्जेक्ट प्राप्त करना चाहते थे , और स्ट्रिंग नहीं, जो strftimeवापस आ जाएगी (Ref: docs.python.org/3/library/datetime.html#datetime.date.strftime )।
datetime.datetime.now(), तो कृपया ध्यान दें कि एक विधि हैdatetime.date.today()।