मैं एक 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()
।