मैं डेटटाइम को पाइथन में कैसे बदल सकता हूं?


645

मैं एक datetime.datetimeवस्तु (उदाहरण के लिए, पायथन में datetime.datetime.now())किसी datetime.dateवस्तु का रिटर्न मान) कैसे परिवर्तित करूं ?


16
यदि आपको इसके लिए बस जरूरत है datetime.datetime.now(), तो कृपया ध्यान दें कि एक विधि है datetime.date.today()
थियरी जे

यदि आपने पहले से ही डेडटाइम आयात कर लिया है, तो आप from datetime import datetimeकेवल दिनांक जोड़ सकते हैंfrom datetime import datetime, date
जोश

जवाबों:


983

date()विधि का प्रयोग करें :

datetime.datetime.now().date()

14
UTC में प्राप्त करने के लिए जो बहुत उपयोगी हो सकता है -> datetime.datetime.utcnow()और इसके बादdatetime.datetime.utcnow().date()
निक ब्रैडी

2
धन्यवाद @SeanColombo, एक विशेष समय क्षेत्र में वर्तमान तिथि होनी चाहिएdatetime.datetime.now(pytz.timezone('US/Pacific')).date()
मोनिका फॉर सीईओ


62

आप datetime.datetime.date()विधि का उपयोग करें :

datetime.datetime.now().date()

जाहिर है, उपरोक्त अभिव्यक्ति (और चाहिए IMHO :) के रूप में लिखा जाना चाहिए:

datetime.date.today()

14
आदमी को भ्रमित मत करो।
फिएटजैफ

1
निष्पक्ष होने के लिए, यह उत्तर (उपयोग .today()) बताए गए उदाहरण के प्रश्न के लिए सबसे अधिक पायथोनिक है।
दनिद

2
यदि आप आज का उपयोग करते हैं, तो तारीख की तुलना करते समय सावधान रहें। today()एक घंटा घटक भी है। इसलिए यदि आप करते हैं: losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y')और तब if losdat < datetime.datetime.today():यह हमेशा सच losdatहोगा क्योंकि मध्यरात्रि का एक समय घटक होगा जो टाइमस्टैम्प से पहले गिर जाएगाtoday()
डेनिस डेकोने

3
@ डेनिसडेकोने: जब कोई वस्तु चाहता है, तो datetime.datetime.today()इसके बजाय का उपयोग क्यों करें ? datetime.date.today()datetime.date
tzot

@tzot हां, वह भी था जो मैं इंगित करना चाहता था लेकिन इसके बारे में स्पष्ट नहीं था।
डेनिस डेकोने

45

आप डेट डेट ऑब्जेक्ट को दिनांक समय ऑब्जेक्ट (दिनांक विधि) के साथ दिनांक में परिवर्तित कर सकते हैं, इस प्रकार है:

<datetime_object>.date()

3
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()

2
क्या आप इस जवाब को यहाँ पोस्ट करने का मतलब? यह मुझे लगता है जैसे आप जवाब दे रहे हैं एक अलग प्रश्न की ओर निर्देशित है।
सभी कार्यकर्ता

2

आप आज (आज की तारीख और दिन और घंटे के नाम) के लिए इस कोड फॉर्म को दर्ज कर सकते हैं : 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 )।
ग्रेज़गोरज़ स्किबिंस्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.