En Python, je souhaite souvent recevoir la date, etc. sous forme de chaîne de caractères et la traiter, mais comme je la recherche sur Google à chaque fois, je vais la résumer moi-même. Dans mon cas, il est traité en sélectionnant chaîne de caractères → datetime → chaîne de caractères.
Reçoit la date sous forme de chaîne. Par exemple, je pense qu'il y a les cas suivants.
C'est une histoire de ce qu'il faut faire si vous les voulez un jour plus tard.
Commencez par analyser la chaîne.
import datetime
#En cas de 1
date1 = '2014-10-16'
d = datetime.datetime.strptime(date1, '%Y-%m-%d')
#En cas de 2
date2 = '2014/10/16 20:29:39'
d = datetime.datetime.strptime(date2, '%Y/%m/%d %H:%M:%S')
Cela le convertira en «datetime».
D'autres formats peuvent être pris en charge en changeant le % Y-% m-% d
ci-dessus.
Utilisez timedelta
pour calculer datetime
.
Je veux un jour plus tard, alors
d += datetime.timedelta(days = 1)
Si vous le faites, vous obtiendrez un jour plus tard. Si vous le tirez sans l'ajouter, ce sera il y a un jour, et si vous changez «jours» en «heures», vous pouvez contrôler l'heure au lieu de la date.
Enfin, renvoyez datetime
à une chaîne.
date_stringj = d.strftime('%Y-%m-%d')
Cela en fera une chaîne au format spécifié.
Vous trouverez ci-dessous un programme qui les rassemble, reçoit la date sous forme de chaîne de caractères et ajoute un jour.
add_1day.py
#!/usr/bin/python
import datetime
date_string_input = '2014-10-31'
date_format = '%Y-%m-%d'
#Chaîne de caractères → datetime
d = datetime.datetime.strptime(date_string_input, date_format)
#traitement datetime
d += datetime.timedelta(days = 1)
#datetime → chaîne
date_string_output = d.strftime(date_format)
print date_string_output
Une fois exécuté, ce sera comme suit.
$ python time.py
2014-11-01
Recommended Posts