Używam:
str(datetime.datetime.today()).split()[0]
zwrócić dzisiejszą datę w YYYY-MM-DD
formacie.
Czy istnieje mniej prymitywny sposób na osiągnięcie tego?
python
datetime
python-datetime
Pyderman
źródło
źródło
Odpowiedzi:
Możesz użyć strftime :
Dodatkowo, dla każdego, kto szuka zerowej godziny, minuty i sekundy na końcu: (komentarz: Gabriel Staples )
źródło
datetime.datetime.today().strftime('%Y-%m-%d-%H:%M:%S')
time.strftime("%Y-%m-%d")
?datetime.utcnow().strftime('%Y-%m-%d')
date
ma to również dostępnedatetime
Możesz użyć
datetime.date.today()
i przekonwertować wynikowydatetime.date
obiekt na ciąg:źródło
/
?date.today().strftime('%Y/%m/%d')
.
do „DMY”, separator/
doM/D/Y
i separator-
doY-M-D
. Chociaż nie wszyscy przestrzegają tych wytycznych, pomogłoby to w czytaniu dat na arenie międzynarodowej, o ile nie wszyscy się na nie zmieniliY-M-D
.Datetime jest po prostu piękny, jeśli lubisz pamiętać śmieszne kody. Czy nie wolisz prostoty?
Ten moduł jest wystarczająco sprytny, aby zrozumieć, co masz na myśli .
Po prostu zrób
pip install arrow
.Dodatek: W odpowiedzi na tych, którzy zastanawiają się nad tą odpowiedzią, powiem tylko, że strzałka reprezentuje jedno z alternatywnych podejść do radzenia sobie z datami w Pythonie. Właśnie to chciałem zasugerować.
źródło
print(date.today())
>> „2018-12-16”? lol i łatwo uzyskaj wartości intt.year,t.month,t.day+1
>> (2018, 12, 17) gdziet = date.today()
i fakt, że ludzie nie muszą dzwonić zieloną strzałką, aby powiedzieć im godzinę. o Boże, to jest za dużo kodu, żeby zapamiętać ...import datetime
różni się odimport arrow
? Pewnie, że jest wbudowany, ale jeśliarrow
zapewnia wygodniejszy format, dlaczego go nie użyć?arrow
? Ale w przypadku wielu prostych projektów jest to po prostu niepotrzebne. Ponadto w wielu wewnętrznych projektach firmy ppl musi uzyskać zgodę na włączenie nowych bibliotek.Zawsze używam
isoformat()
do tego funkcji.Zauważ, że działa to również na obiektach datetime, jeśli potrzebujesz czasu również w standardowym formacie.
źródło
Inne odpowiedzi sugerują użycie pytona
datetime.datetime
, ale jak powiedział @Bill Bell, istnieją inne biblioteki, które oferują prostszedatetime
interfejsy jako usługę lub jako część większego ekosystemu interfejsów API. Oto dwie takie biblioteki, z którymi można pracowaćdatetimes
bardzo prostą.PANDY
Możesz użyć
pd.to_datetime
z biblioteki pand . Oto różne opcje w zależności od tego, co chcesz zwrócić.Jako obiekt datetime w Pythonie
Jako sformatowany ciąg daty
Aby uzyskać tylko datę ze znacznika czasu, zadzwoń
Timestamp.date
.Poza
to_datetime
tym możesz bezpośrednio tworzyć instancjęTimestamp
obiektu,Jeśli chcesz, aby strefa czasowa była świadoma, przekaż strefę czasową do
tz
argumentu.WAHADŁO
Jeśli pracujesz z wahadłem , istnieje kilka interesujących opcji. Możesz uzyskać bieżący znacznik czasu używając
now()
lub dzisiejszą datę używająctoday()
.Dodatkowo możesz również uzyskać
tomorrow()
lubyesterday()
datę bezpośrednio, bez konieczności wykonywania dodatkowej arytmetyki timedelta.Dostępne są różne opcje formatowania.
źródło
Bardzo późna odpowiedź, ale możesz użyć:
źródło
Możesz użyć,
źródło
str(date.today())
jest jeszcze lepszyWolę to, ponieważ jest to proste, ale może w jakiś sposób nieefektywne i błędne. Musisz sprawdzić kod zakończenia polecenia powłoki, jeśli chcesz program silnie odporny na błędy.
źródło