Odpowiedzi:
Użyj date()
metody:
datetime.datetime.now().date()
datetime.datetime.utcnow()
i odpowiedniodatetime.datetime.utcnow().date()
datetime.datetime.now(pytz.timezone('US/Pacific')).date()
Z dokumentacji:
Zwróć obiekt daty z tym samym rokiem, miesiącem i dniem.
Używasz datetime.datetime.date()
metody:
datetime.datetime.now().date()
Oczywiście powyższe wyrażenie można (i powinno IMHO :) zapisać jako:
datetime.date.today()
.today()
prawdę mówiąc , ta odpowiedź (użycie ) jest najbardziej pytoniczna dla podanego przykładowego pytania.
today()
ma również składnik godziny . więc jeśli to zrobisz: losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y')
i wtedy if losdat < datetime.datetime.today():
będzie to zawsze prawdą, ponieważ losdat
będzie miała składnik czasu północy, który wypadnie przed today()
datetime.datetime.today()
zamiast datetime.date.today()
, kiedy chce się datetime.date
obiektu?
Możesz przekonwertować obiekt daty i godziny na datę za pomocą metody date () obiektu daty i godziny w następujący sposób:
<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()
możesz wpisać ten formularz kodu dla (dzisiejsza data i Nazwy Dnia i godziny) :
datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')
'19 -09-09 Mon 17:37:56 '
i wprowadź ten kod dla ( dzisiejsza data po prostu) : „
datetime.date.today().strftime('%y-%m-%d')
19 -09-10”
dla obiektu:
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
obiekt, a nie ciąg znaków, który strftime
zwróciłby (zob .: docs.python.org/3/library/datetime.html#datetime.date.strftime ).
datetime.datetime.now()
, pamiętaj, że istnieje metodadatetime.date.today()
.