Hoe converteer ik een datetime naar een datum?

Hoe converteer ik een datetime.datetimeobject (bijv. de retourwaarde van datetime.datetime.now())naar een datetime.date-object in Python?


Antwoord 1, autoriteit 100%

Gebruik de date()methode:

datetime.datetime.now().date()

Antwoord 2, autoriteit 12%

Uit de documentatie:

datetime.datetime.date()

Retourdatumobject met hetzelfde jaar, maand en dag.


Antwoord 3, autoriteit 5%

U gebruikt de datetime.datetime.date()methode:

datetime.datetime.now().date()

Het is duidelijk dat de bovenstaande uitdrukking kan (en moet IMHO 🙂 worden geschreven als:

datetime.date.today()

Antwoord 4, autoriteit 4%

U kunt een datetime-object als volgt converteren naar een datum met de methode date() van het datetime-object:

<datetime_object>.date()

Antwoord 5

u kunt dit codeformulier invoeren voor (vandaag datum & namen van de dag en uur):
datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')

’19-09-09 ma 17:37:56′

en voer deze code in voor (de datum van vandaag):
datetime.date.today().strftime('%y-%m-%d')

’19-09-10′

voor object :
datetime.datetime.now().date()
datetime.datetime.today().date()
datetime.datetime.utcnow().date()
datetime.datetime.today().time()
datetime.datetime.utcnow().date()
datetime.datetime.utcnow().time()


Antwoord 6

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

Antwoord 7

Antwoord bijgewerkt met Python 3.7 en meer

Hier is hoe je een date-and-time object

kan draaien

(aka datetime.datetimeobject, degene die is opgeslagen in models.DateTimeFielddjango modelveld )

een datumobject (aka datetime.dateobject):

from datetime import datetime
#your date-and-time object
# let's supposed it is defined as
datetime_element = datetime(2020, 7, 10, 12, 56, 54, 324893)
# where
# datetime_element = datetime(year, month, day, hour, minute, second, milliseconds)
# WHAT YOU WANT: your date-only object
date_element = datetime_element.date()

En voor de duidelijkheid, als je die elementen te drukken, hier is de output:

print(datetime_element)

2020-07-10 12:56:54.324893

print(date_element)

2020-07-10


Antwoord 8

Ik gebruik data.strftime('%y-%m-%d')met lambda om de kolom naar de datum over te zetten

Other episodes