Maison  >  Article  >  développement back-end  >  Comment transformer des nombres en dates en Python

Comment transformer des nombres en dates en Python

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-06-13 13:35:4010299parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn