Wie erhalte ich in Python ein Zeichenfolgenformat der aktuellen Datums- und Uhrzeitangabe?


113

Zum Beispiel möchte ich am 5. Juli 2010 die Zeichenfolge berechnen

 July 5, 2010

Wie soll das gemacht werden?

Antworten:


227

Sie können das datetimeModul zum Arbeiten mit Datum und Uhrzeit in Python verwenden. Mit dieser strftimeMethode können Sie eine Zeichenfolgendarstellung von Datum und Uhrzeit in einem von Ihnen angegebenen Format erstellen.

>>> import datetime
>>> datetime.date.today().strftime("%B %d, %Y")
'July 23, 2010'
>>> datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y")
'10:36AM on July 23, 2010'

34
#python3

import datetime
print(
    '1: test-{date:%Y-%m-%d_%H:%M:%S}.txt'.format( date=datetime.datetime.now() )
    )

d = datetime.datetime.now()
print( "2a: {:%B %d, %Y}".format(d))

# see the f" to tell python this is a f string, no .format
print(f"2b: {d:%B %d, %Y}")

print(f"3: Today is {datetime.datetime.now():%Y-%m-%d} yay")

1: test-2018-02-14_16: 40: 52.txt

2a: 04. März 2018

2b: 04. März 2018

3: Heute ist 2018-11-11 yay


Beschreibung:

Bei Verwendung des neuen Zeichenfolgenformats zum Einfügen eines Werts in eine Zeichenfolge am Platzhalter {} ist der Wert die aktuelle Zeit.

Verwenden Sie dann die Formatierung, um das richtige Datumsformat zu erhalten, anstatt nur den Rohwert als {} anzuzeigen.

https://docs.python.org/3/library/string.html#formatexamples


Ihre Antwort wurde als qualitativ minderwertig gekennzeichnet, da sie nur Code enthält. Versuchen Sie, Ihre Antwort ausführlicher zu erklären.
Derek Brown

1
Probs beste Antwort.
Nulltron

was fbedeutet in print(f"3?
Lei Yang

@ lei-yang hier ist eine Erklärung: realpython.com/python-f-strings markiert die Zeichenfolge als f-Zeichenfolge, und Python sucht dann nach {} mit Code / Variablen darin und platziert den Inhalt in der Zeichenfolge. Es ist die neueste Ergänzung zur Python3.6-Zeichenfolgenformatierung
Pieter

Am Ende dieser Seite https://docs.python.org/3/library/datetime.html werden die Platzhalter wie %Bund was sie darstellen aufgelistet .
James Toomey

24
>>> import datetime
>>> now = datetime.datetime.now()
>>> now.strftime("%B %d, %Y")
'July 23, 2010'

6

Wenn Sie sich nicht für die Formatierung interessieren und nur ein kurzes Datum benötigen, können Sie Folgendes verwenden:

import time
print(time.ctime())
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.