Comment convertir un nombre entier en date objet python?
Je suis entrain de créer un module en python, dans laquelle je suis de réception de la date dans le format de nombre entier comme 20120213
, ce qui signifie le 13 Février, 2012. Maintenant, je veux convertir cet entier au format date dans un python objet date.
Aussi, si il n'y a aucun moyen par lequel je peux soustraire/ajouter le nombre de jours dans un tel entier au format date pour recevoir la valeur de date dans le même format? comme la soustraction de 30 jours à compter de 20120213
et de recevoir la réponse que 20120114
?
Vous devez vous connecter pour publier un commentaire.
Je vous suggère les suivantes approche simple pour la conversion:
Pour l'ajout/soustraction d'un arbitraire nombre de jours (en secondes de travail trop btw.), vous pouvez effectuer les opérations suivantes:
Et de les convertir en arrière en utilisant:
Pour convertir un entier en une chaîne en toute sécurité, utilisez:
Cela garantit que votre chaîne est de huit charecters de long et de gauche complétée par des zéros, même si l'année est inférieure à 1000 (négatif ans pourrait devenir drôle tout de même).
Autre référence: les objets datetime, timedelta objets
Cette question est déjà répondu, mais pour le bénéfice de tiers de regarder cette question que je voudrais ajouter la suggestion suivante: au Lieu de faire le découpage de vous-même comme suggéré ci-dessus, vous pouvez également utiliser
strptime()
qui est (à mon humble avis) plus facile à lire et peut-être la meilleure façon de faire cette conversion.df['order_date'] = df['order_date'].apply(lambda x: pd.to_datetime(str(x), format='%Y%m%d'))
Voici ce que je crois répond à la question (Python 3, avec le type d'indices):
Le code ci-dessus produit attendu
2016-06-18
.