.today()Um fair zu sein, ist diese Antwort (mit ) die pythonischste für die angegebene Beispielfrage.
Dannid
2
Wenn Sie heute verwenden, seien Sie vorsichtig, wenn Sie ein Datum vergleichen. today()hat auch eine Stundenkomponente . Also, wenn Sie dies tun: losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y')und dann wird if losdat < datetime.datetime.today():es immer wahr sein, weil losdates eine today()
Zeitkomponente
3
@ TennisDecoene: Warum datetime.datetime.today()statt verwenden datetime.date.today(), wenn man ein datetime.dateObjekt will ?
Zot
@tzot Ja, das war auch das, worauf ich hinweisen wollte, aber es war unklar.
Dennis Decoene
45
Sie können ein datetime-Objekt mit der date () -Methode des date time-Objekts wie folgt in ein Datum konvertieren:
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()
Wollten Sie diese Antwort hier posten? Es sieht für mich so aus, als ob Ihre Antwort auf eine andere Frage gerichtet ist.
Alle Arbeiter sind wesentlich
2
Sie können dieses Codeformular eingeben für (heute Datum & Namen des Tages & Stunde) :
datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')
'19 -09-09 Mo 17:37:56 '
und geben Sie diesen Code ein für ( heutiges Datum einfach) :
datetime.date.today().strftime('%y-%m-%d')
'19 -09-10 '
für Objekt: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()
, beachten Sie bitte, dass es eine Methode gibtdatetime.date.today()
.from datetime import datetime
, können Sie einfach Datum hinzufügenfrom datetime import datetime, date
Antworten:
Verwenden Sie die
date()
Methode:quelle
datetime.datetime.utcnow()
und entsprechenddatetime.datetime.utcnow().date()
datetime.datetime.now(pytz.timezone('US/Pacific')).date()
Aus der Dokumentation:
quelle
Sie verwenden die
datetime.datetime.date()
Methode:Offensichtlich kann (und sollte IMHO :) der obige Ausdruck geschrieben werden als:
quelle
.today()
Um fair zu sein, ist diese Antwort (mit ) die pythonischste für die angegebene Beispielfrage.today()
hat auch eine Stundenkomponente . Also, wenn Sie dies tun:losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y')
und dann wirdif losdat < datetime.datetime.today():
es immer wahr sein, weillosdat
es einetoday()
datetime.datetime.today()
statt verwendendatetime.date.today()
, wenn man eindatetime.date
Objekt will ?Sie können ein datetime-Objekt mit der date () -Methode des date time-Objekts wie folgt in ein Datum konvertieren:
quelle
quelle
Sie können dieses Codeformular eingeben für (heute Datum & Namen des Tages & Stunde) :
datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')
'19 -09-09 Mo 17:37:56 '
und geben Sie diesen Code ein für ( heutiges Datum einfach) :
datetime.date.today().strftime('%y-%m-%d')
'19 -09-10 'für Objekt:
datetime.datetime.now().date()
datetime.datetime.today().date()
datetime.datetime.utcnow().date()
datetime.datetime.today().time()
datetime.datetime.utcnow().date()
datetime.datetime.utcnow().time()
quelle
datetime.date
Objekt und keine Zeichenfolge erhalten, die zurückgegeben werdenstrftime
würde ( siehe : docs.python.org/3/library/datetime.html#datetime.date.strftime ).