430 Stimmen

Python strftime - Datum ohne führende 0?

Bei Verwendung von Python strftime Gibt es eine Möglichkeit, die erste 0 des Datums zu entfernen, wenn es vor dem 10. liegt, d.h. 01 es 1 ? Kann nicht finden ein % Dingsbums dafür?

Gracias.

26voto

bonbon.langes Punkte 1587

Ziemlich spät zu der Party, aber %-d funktioniert bei mir.

datetime.now().strftime('%B %-d, %Y') erzeugt etwas wie "5. November 2014"

Prost :)

26voto

Chad Kennedy Punkte 1646

Unter Windows fügen Sie ein '#' hinzu, wie in '%#m/%#d/%Y %#I:%M:%S %p'.

Als Referenz: https://msdn.microsoft.com/en-us/library/fe06s4ak.aspx

11voto

ptronico Punkte 537

Werfen Sie einen Blick auf - unten:

>>> from datetime import datetime
>>> datetime.now().strftime('%d-%b-%Y')
>>> '08-Oct-2011'
>>> datetime.now().strftime('%-d-%b-%Y')
>>> '8-Oct-2011'
>>> today = datetime.date.today()
>>> today.strftime('%d-%b-%Y')
>>> print(today)

10voto

mcqwerty Punkte 3336

Ich finde, dass der Datumsformatierungsfilter der Django-Vorlage schnell und einfach ist. Er entfernt führende Nullen. Wenn es Ihnen nichts ausmacht, das Django-Modul zu importieren, probieren Sie es aus.

http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date

from django.template.defaultfilters import date as django_date_filter
print django_date_filter(mydate, 'P, D M j, Y')

8voto

Verwenden Sie einfach replace wie diese:

(datetime.date.now()).strftime("%Y/%m/%d").replace("/0", "/")

wird er ausgeben:

'2017/7/21'

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