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.

2voto

user7503128 Punkte 21
import datetime
now = datetime.datetime.now()
print now.strftime("%b %_d")

2voto

OliverRadini Punkte 5723

Alte Frage, aber %l (kleingeschriebenes L) funktionierte für mich in strftime: Dies funktioniert vielleicht nicht für jeden, da es nicht in der Python-Dokumentation aufgeführt ist, die ich gefunden habe

2voto

Brandon Rhodes Punkte 75647

Denn Python ruft eigentlich nur die Sprache C auf strftime(3) Funktion auf Ihrer Plattform gibt es möglicherweise Formatzeichen, die Sie zur Steuerung der führenden Null verwenden können; versuchen Sie man strftime und sehen Sie es sich an. Aber natürlich wird das Ergebnis nicht portabel sein, wie das Python-Handbuch Sie daran erinnern wird :-)

Ich würde versuchen, einen neuen Stil zu verwenden datetime Objekt, das Attribute wie t.year y t.month y t.day und lassen Sie diese durch die normale, hochleistungsfähige Formatierung des % Operator, der die Kontrolle von führenden Nullen unterstützt. Siehe http://docs.python.org/library/datetime.html für Einzelheiten. Besser noch, verwenden Sie die "".format() Operator, wenn Ihr Python es hat und noch moderner sein; es hat viele Formatoptionen für Zahlen als auch. Siehe: http://docs.python.org/library/string.html#string-formatting .

0voto

zerocool Punkte 1

Ich bin spät dran, aber eine einfache Listenaufteilung wird die Arbeit erledigen

today_date = date.today().strftime('%d %b %Y')
if today_date[0] == '0':
    today_date = today_date[1:]

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