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


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.