Maison >développement back-end >Tutoriel Python >Comment transformer des nombres en dates en Python
Comment convertir des nombres en dates en python ? Permettez-moi de vous présenter les étapes pertinentes ci-dessous :
Installation
Il n'est pas nécessaire de télécharger le package de code source pour l'installer manuellement, utilisez simplement easy_install ou pip pour installer en ligne
easy_install python-dateutil
pip install python-dateutil
Le module dateutil a principalement deux fonctions, analyseur et rrule. L'analyseur analyse une chaîne en datetime, tandis que rrule génère une datetime en fonction de règles définies.
À propos de l'analyseur
La chaîne peut être arbitraire, vous pouvez utiliser des mots anglais d'heure et de date, et vous pouvez utiliser des lignes horizontales, des virgules, des espaces, etc. comme délimiteurs.
Si l'heure n'est pas spécifiée, la valeur par défaut est 0 heure, si la date n'est pas spécifiée, la valeur par défaut est aujourd'hui, et si l'année n'est pas spécifiée, la valeur par défaut est cette année.
Recommandations associées : "Tutoriel vidéo Python"
>>from dateutil.parser import parse >>parse("Wed, Nov 12") datetime.datetime(2013, 11, 12, 0, 0) >>parse("2013-08-20") datetime.datetime(2013, 8, 20, 0, 0) >>parse("20130820") datetime.datetime(2013, 8, 20, 0, 0) >>parse("2013,08,20") datetime.datetime(2013, 8, 20, 0, 0) >>parse("08,20") datetime.datetime(2013, 8, 20, 0, 0) >>parse("12:00:00") datetime.datetime(2013, 8, 20, 12, 0) >>parse("this is the wonderful moment 12:00:00,I feel good",fuzzy=True)#fuzzy开启模糊匹配,过滤掉无法识别的时间日期字符 datetime.datetime(2013, 8, 20, 12, 0)
À propos de rrule
Le prototype de fonction est la suivante.
rrule(self, freq, dtstart=Aucun, interval=1, wkst=Aucun, count=Aucun, jusqu'à=Aucun, bysetpos=Aucun,
bymonth=Aucun, bymonthday=Aucun, byyearday=None, byeaster=None, byweekno=None, byweekday=None, byhour=None, byminute=None, bysecond=None, cache=False)
freq : peut être compris comme une unité. Peut être ANNUEL, MENSUEL, HEBDOMADAIRE, QUOTIDIEN, HORAIRE, MINUTE, DEUXIÈME. C'est-à-dire l'année, le mois, le jour, la semaine, l'heure, la minute et la seconde.
dtstart,jusqu'à : est l'heure de début et de fin.
wkst : Heure de début de la semaine.
intervalle : intervalle.
count : Spécifiez le nombre à générer.
byxxx : Précisez la période de correspondance. Par exemple, byweekday=(MO,TU) correspond uniquement au lundi et au mardi. byweekday peut spécifier MO, TU, WE, TH, FR, SA, SU. C'est du lundi au dimanche.
>>from dateutil.rrule import * >>list(rrule(DAILY,dtstart=parse('2013-08-01'),until=parse('2013-08-07'))) #2013-08-01到2013-08-07每日 [datetime.datetime(2013, 8, 1, 0, 0), datetime.datetime(2013, 8, 2, 0, 0), datetime.datetime(2013, 8, 3, 0, 0), datetime.datetime(2013, 8, 4, 0, 0), datetime.datetime(2013, 8, 5, 0, 0), datetime.datetime(2013, 8, 6, 0, 0), datetime.datetime(2013, 8, 7, 0, 0)] >>list(rrule(DAILY,interval=3,dtstart=parse('2013-08-01'),until=parse('2013-08-07'))) #间隔为3 [datetime.datetime(2013, 8, 1, 0, 0), datetime.datetime(2013, 8, 4, 0, 0), datetime.datetime(2013, 8, 7, 0, 0)] >>list(rrule(DAILY,count=3,dtstart=parse('2013-08-01'),until=parse('2013-08-07'))) #只生成3个 [datetime.datetime(2013, 8, 1, 0, 0), datetime.datetime(2013, 8, 2, 0, 0), datetime.datetime(2013, 8, 3, 0, 0)] >>list(rrule(DAILY,byweekday=(MO,TU),dtstart=parse('2013-08-01'),until=parse('2013-08-07'))) #只匹配周一周二的 [datetime.datetime(2013, 8, 5, 0, 0), datetime.datetime(2013, 8, 6, 0, 0)] >>list(rrule(MONTHLY,dtstart=parse('2013-05-19'),until=parse('2013-08-20'))) #按月为单位 [datetime.datetime(2013, 5, 19, 0, 0), datetime.datetime(2013, 6, 19, 0, 0), datetime.datetime(2013, 7, 19, 0, 0), datetime.datetime(2013, 8, 19, 0, 0)]
Convertir les nombres en dates :
from dateutil.parser import parse a=20190613 b=str(a) c=parse(b)
print(c) 2019-06-13 00:00:00
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!