J'essaie d'écrire un programme qui demande à l'utilisateur de saisir la date dans le format MM/DD/AAAA et de le convertir. Donc, si l'utilisateur de l'utilisateur 01/01/2009, le programme devrait afficher le 01 janvier 2009. Ceci est mon programme jusqu'à présent. J'ai réussi à convertir le mois, mais les autres éléments ont un support autour d'eux afin qu'il affiche janvier [01] [2009].
date=input('Enter a date(mm/dd/yyy)')
replace=date.replace('/',' ')
convert=replace.split()
day=convert[1:2]
year=convert[2:4]
for ch in convert:
if ch[:2]=='01':
print('January ',day,year )
Merci d'avance!
Ne réinventez pas la roue et utilisez une combinaison de strptime()
et strftime()
du module datetime
qui fait partie de python Standard Bibliothèque ( Docs ):
>>> from datetime import datetime
>>> date_input = input('Enter a date(mm/dd/yyyy): ')
Enter a date(mm/dd/yyyy): 11/01/2013
>>> date_object = datetime.strptime(date_input, '%m/%d/%Y')
>>> print(date_object.strftime('%B %d, %Y'))
November 01, 2013
Vous voudrez peut-être examiner la bibliothèque DateTime de Python qui s'occupera des dates d'interprétation pour vous. https://docs.python.org/2/library/dateTime.html#module-dateTetime
from datetime import datetime
d = input('Enter a date(mm/dd/yyy)')
# now convert the string into datetime object given the pattern
d = datetime.strptime(d, "%m/%d/%Y")
# print the datetime in any format you wish.
print d.strftime("%B %d, %Y")
Vous pouvez vérifier ce que% m,% d et autres identifiants représentent ici: https://docs.python.org/2/library/dateTime.htm#strftime-and-tructime-behavior
En tant que suggestion, utilisez dateutil
, qui déduit le format par lui-même:
>>> from dateutil.parser import parse
>>> parse('01/05/2009').strftime('%B %d, %Y')
'January 05, 2009'
>>> parse('2009-JAN-5').strftime('%B %d, %Y')
'January 05, 2009'
>>> parse('2009.01.05').strftime('%B %d, %Y')
'January 05, 2009'
Diviser par les barres obliques
convert = replace.split('/')
puis créer un dictionnaire des mois:
months = {1:"January",etc...}
puis pour l'afficher faire:
print months[convert[0]] + day + year