.today()prawdę mówiąc , ta odpowiedź (użycie ) jest najbardziej pytoniczna dla podanego przykładowego pytania.
Dannid
2
Jeśli używasz dzisiaj, zachowaj ostrożność podczas porównywania daty. 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ż losdatbędzie miała składnik czasu północy, który wypadnie przed today()
datą
3
@DennisDecoene: po co używać datetime.datetime.today()zamiast datetime.date.today(), kiedy chce się datetime.dateobiektu?
tzot
@tzot Tak też chciałem zwrócić uwagę, ale nie byłem pewien.
Dennis Decoene
45
Możesz przekonwertować obiekt daty i godziny na datę za pomocą metody date () obiektu daty i godziny w następujący sposób:
import time
import datetime
# use mktime to step by one day# end - the last day, numdays - count of days to step backdef 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 dayreturn xrange(start, end,86400)# if you need reverse the list of datesfor dt in reversed(gen_dates_list(datetime.datetime.today(),100)):print datetime.datetime.fromtimestamp(dt).date()
Czy chciałeś opublikować tę odpowiedź tutaj? Wydaje mi się, że twoja odpowiedź dotyczy innego pytania.
Wszyscy pracownicy są niezbędni
2
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.datetime.now()
, pamiętaj, że istnieje metodadatetime.date.today()
.from datetime import datetime
datęfrom datetime import datetime, date
Odpowiedzi:
Użyj
date()
metody:źródło
datetime.datetime.utcnow()
i odpowiedniodatetime.datetime.utcnow().date()
datetime.datetime.now(pytz.timezone('US/Pacific')).date()
Z dokumentacji:
źródło
Używasz
datetime.datetime.date()
metody:Oczywiście powyższe wyrażenie można (i powinno IMHO :) zapisać jako:
źródło
.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 wtedyif losdat < datetime.datetime.today():
będzie to zawsze prawdą, ponieważlosdat
będzie miała składnik czasu północy, który wypadnie przedtoday()
datetime.datetime.today()
zamiastdatetime.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:
źródło
źródło
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()
źródło
datetime.date
obiekt, a nie ciąg znaków, którystrftime
zwróciłby (zob .: docs.python.org/3/library/datetime.html#datetime.date.strftime ).