1003 Stimmen

Wie konvertiere ich eine Zeitangabe in ein Datum?

Wie konvertiere ich eine datetime.datetime Objekt (z. B. der Rückgabewert von datetime.datetime.now()) a un datetime.date Objekt in Python?

39 Stimmen

Wenn Sie dies nur brauchen für datetime.datetime.now() Bitte beachten Sie, dass es eine Methode gibt datetime.date.today() .

0 Stimmen

Wenn Sie bereits datetime importiert haben, z. B. from datetime import datetime können Sie einfach ein Datum hinzufügen from datetime import datetime, date

1528voto

ars Punkte 112843

Verwenden Sie die date() Methode:

datetime.datetime.now().date()

24 Stimmen

Um in UTC zu gelangen, was sehr hilfreich sein kann --> datetime.datetime.utcnow() und dementsprechend datetime.datetime.utcnow().date()

3 Stimmen

Danke @SeanColombo, das aktuelle Datum in einer bestimmten Zeitzone sollte sein datetime.datetime.now(pytz.timezone('US/Pacific')).date()

4 Stimmen

Datetime.datetime.utcnow() ist veraltet siehe docs.python.org/3/Bibliothek/datetime.html#datetime.datetime durch datetime.now(timezone.utc) ersetzen. Die OP ist eigentlich nach Datum, so dass dies strittig ist.

166voto

Aus der Dokumentation:

datetime.datetime.date()

Rückgabe des Datumsobjekts mit gleichem Jahr, Monat und Tag.

77voto

tzot Punkte 86792

Sie verwenden die datetime.datetime.date() Methode:

datetime.datetime.now().date()

Offensichtlich kann (und sollte IMHO :) der obige Ausdruck wie folgt geschrieben werden:

datetime.date.today()

2 Stimmen

Um fair zu sein, diese Antwort (mit .today() ) ist die pythonischste für die genannte Beispielfrage.

2 Stimmen

Wenn Sie den heutigen Tag verwenden, seien Sie vorsichtig, wenn Sie ein Datum vergleichen. today() hat eine Stunde Wenn Sie das also tun: losdat = datetime.datetime.strptime(losdatstr, '%d%m%Y') und dann if losdat < datetime.datetime.today(): es wird immer wahr sein, weil losdat wird eine Zeitkomponente von Mitternacht haben, die vor dem Zeitstempel von today()

6 Stimmen

@DennisDecoene: warum verwenden datetime.datetime.today() anstelle von datetime.date.today() wenn man eine datetime.date Objekt?

63voto

Furbeenator Punkte 7798

Sie können ein datetime-Objekt mit der Methode date() des date time-Objekts wie folgt in ein Datum umwandeln:

<datetime_object>.date()

12voto

kamran26 Punkte 109

Können Sie diesen Code eingeben für (heutiges Datum & Namen des Tages & Stunde) : datetime.datetime.now().strftime('%y-%m-%d %a %H:%M:%S')

'19-09-09 Mon 17:37:56'

und geben Sie diesen Code für ( heute Datum einfach) : datetime.date.today().strftime('%y-%m-%d') '19-09-10'

für das 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()

0 Stimmen

OP wollte sich datetime.date Objekt, und nicht String, der strftime zurückkehren würde (ref: docs.python.org/3/library/datetime.html#datetime.date.strftime ).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X