Obtenir la date d'aujourd'hui en AAAA-MM-JJ en Python?

J'utilise:

str(datetime.datetime.today()).split()[0]

Pour renvoyer la date du jour sous la forme AAAA-MM-JJ.

Y a-t-il un moyen moins brut d'y parvenir?

88
demandé sur Pyderman 2015-09-10 02:20:25

4 réponses

Vous pouvez utiliser strftime:

datetime.datetime.today().strftime('%Y-%m-%d')
178
répondu diegueus9 2016-06-27 21:42:14

Datetime est tout simplement charmant si vous aimez vous souvenir de codes drôles. Ne serait-il pas préférer la simplicité?

>>> import arrow
>>> arrow.now().format('YYYY-MM-DD')
'2017-02-17'

Ce module est assez intelligent pour comprendre ce que vous dire.

Faites juste pip install arrow.

26
répondu Bill Bell 2017-02-17 16:30:30

Il y a un moyen encore plus simple que la réponse acceptée; valide à la fois pour Python 2 et 3.

from datetime import date
today = str(date.today())
print(today)   # '2017-12-26'
24
répondu kmonsoor 2017-12-26 22:52:08

Je préfère ça. (parce que c'est simple. mais peut-être en quelque sorte inefficace et bogué. Vous devez vérifier le code de sortie de la commande shell si vous voulez très fortement programme anti-erreur.)

os.system('date +%Y-%m-%d')
1
répondu plhn 2018-03-28 08:55:35