Wie konvertiere ich ein datetime.datetimeObjekt (z. B. den Rückgabewert von datetime.datetime.now())in ein datetime.dateObjekt in Python?
from datetime import datetime, können Sie einfach Datum hinzufügenfrom datetime import datetime, date
Wie konvertiere ich ein datetime.datetimeObjekt (z. B. den Rückgabewert von datetime.datetime.now())in ein datetime.dateObjekt in Python?
from datetime import datetime, können Sie einfach Datum hinzufügenfrom datetime import datetime, date
Antworten:
Verwenden Sie die date()Methode:
datetime.datetime.now().date()
datetime.datetime.utcnow()und entsprechenddatetime.datetime.utcnow().date()
datetime.datetime.now(pytz.timezone('US/Pacific')).date()
Aus der Dokumentation:
Rückgabe des Datumsobjekts mit demselben Jahr, Monat und Tag.
Sie verwenden die datetime.datetime.date()Methode:
datetime.datetime.now().date()
Offensichtlich kann (und sollte IMHO :) der obige Ausdruck geschrieben werden als:
datetime.date.today()
.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 wird if losdat < datetime.datetime.today():es immer wahr sein, weil losdates eine today()
datetime.datetime.today()statt verwenden datetime.date.today(), wenn man ein datetime.dateObjekt will ?
Sie können ein datetime-Objekt mit der date () -Methode des date time-Objekts wie folgt in ein Datum konvertieren:
<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()
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.dateObjekt und keine Zeichenfolge erhalten, die zurückgegeben werden strftimewürde ( siehe : docs.python.org/3/library/datetime.html#datetime.date.strftime ).
datetime.datetime.now(), beachten Sie bitte, dass es eine Methode gibtdatetime.date.today().