Cet article vous apporte un résumé de l'utilisation et des méthodes courantes du module datetime en Python. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Le module datetime réencapsule le module time pour fournir plus d'interfaces. Les classes fournies sont :
date, une classe représentant la date
time, une classe représentant l'heure<.>
datetime, une classe représentant la date et l'heure timedelta, représentant un intervalle de temps, c'est-à-dire l'intervalle entre deux points dans le temps tzinfo, informations liées aux fuseaux horaires (Les objets de ces classes sont tous immuables) (Les classes ont des méthodes de classe, les méthodes de classe ont des méthodes et les méthodes héritent des méthodes de classe)1. Classe de date
datetime.date (année, mois, jour)
Méthodes et attributs de classe couramment utilisés :
date.max | La date maximale que l'objet peut représenter (9999-12-31)
|
||||||||||
date.min | La date minimale que l'objet peut représenter (0001-01-01) | ||||||||||
date.today() | Renvoie un objet date représentant l'heure locale actuelle -family: "Microsoft YaHei"; font-size: 15px">date.resolution | L'objet date représente la plus petite unité de date (jours) | |||||||||
date.fromtimestamp(timestamp) td> | Renvoie un objet date basé sur l'horodatage donné |
实现:
类方法
import datetime import time print(datetime.date.max) print(datetime.date.min) print(datetime.date.today()) print(datetime.date.resolution) print(datetime.date.fromtimestamp(time.time()+3600000)) # 给定时间戳的 日期
résultat
9999-12-31 0001-01-01 2018-09-17 1 day, 0:00:00 2018-10-29
其中常用的方法与属性:
d.year
| 年<🎜> | ||||||||||||||||||||||
d.month<🎜> | 月<🎜> | ||||||||||||||||||||||
日<🎜> | |||||||||||||||||||||||
d.replace(année[,mois[,jour]])<🎜> | 生成并返回一个新的日期对象,原日期对象不变 <🎜> | ||||||||||||||||||||||
d.timetuple()<🎜> | 返回日期对应的时间元组(time.struct_time)对象<🎜> | ||||||||||||||||||||||
d.toordinal()<🎜><🎜> <🎜> | 返回日期是自0001-01-01开始的第多少天<🎜> | ||||||||||||||||||||||
d.weekday()<🎜> | 返回日期是星期几,[0,6],0表示星期一,1表示星期二<🎜> | ||||||||||||||||||||||
d.isoweekday()<🎜> | 返回日期是星期几,[1,7],1表示星期一,2表示星期二<🎜> | ||||||||||||||||||||||
d.isocalendar()<🎜> | 返回格式为(année,jour de la semaine,isojour de la semaine)的元组<🎜> | ||||||||||||||||||||||
d.isoformat()<🎜> | 返回'AAAA-MM-JJ'格式的日期字符串<🎜> | ||||||||||||||||||||||
d.strftime()<🎜> | 自定义格式化字符串(和time模块的strftime()方法相同)<🎜> |
实现:
方法
print(datetime.date.year) # <attribute 'year' of 'datetime.date' objects> print(datetime.date.today().year) # 本地时时间的年 print(datetime.date.fromtimestamp(time.time()+3600000).month) # 给定时间戳的 月 print(datetime.date.today().day) # 日 print(datetime.date.today().replace(year=2019)) print(datetime.date.today().timetuple()) print(datetime.date.today().toordinal()) print(datetime.date.today().weekday()) print(datetime.date.today().isoweekday()) print(datetime.date.today().isocalendar()) print(datetime.date.today().isoformat()) print(datetime.date.today().strftime('%Y-%m-%d-%a-%I'))
result
<attribute 'year' of 'datetime.date' objects> 10 2019-09-17 time.struct_time(tm_year=2018, tm_mon=9, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=260, tm_isdst=-1) 0 (2018, 38, 1) 2018-09-17 2018-09-17-Mon-12 result
2、time类
其中,time类和time模块各自独立
datetime.time(hour[,minute[,decond[,microsecond[,tzinfo]]]])
常用的类方法与属性:
time.max | 表示的最大时间 |
time.min | 表示的最小时间 |
time.resolution | 时间的最小单位,这里是1微秒 |
常用的方法与属性:
t.hour | 时 |
t.minute | 分 |
t.second | 秒 |
t.microsecond | 微秒 |
t.tzinfo | 时区信息 |
t.replace() | 用参数指定替代(时,分,秒,微秒,时区)对象,生成并返回新的对象 |
t.isoformat() | 返回'HH:MM:SS'格式字符串 |
t.strftime() | 返回自定义格式化字符串 |
3. La classe Datetime
équivaut à combiner la date et l'heure
datetime.datetime(year,month,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]])
Les méthodes de classe couramment utilisées sont comme suit Attributs :
| <🎜>Date maximale<🎜> | ||||||||||||||||||||
<🎜>datetime.min<🎜> | <🎜>Date minimale<🎜> | ||||||||||||||||||||
<🎜>datetime.resolution< 🎜> | <🎜>La plus petite unité de date représentée par l'objet datetime, 1 microseconde<🎜> | ||||||||||||||||||||
< 🎜>datetime.today()<🎜> | <🎜>Renvoyer l'heure locale actuelle<🎜> | ||||||||||||||||||||
<🎜>datetime.now ([tz ])<🎜> | <🎜>Renvoie l'heure locale actuelle Si tz est spécifié, renvoie l'heure locale dans le fuseau horaire tz<🎜> | <🎜>datetime.utcnow()<🎜> | <🎜>Renvoyer l'heure UTC actuelle<🎜> | tr>||||||||||||||||||
< 🎜>datetime.fromtimestamp(timestamp[,tz])<🎜> | <🎜>Renvoie l'objet datetime en fonction de l'horodatage donné Si tz est spécifié, le L'objet datetime du fuseau horaire tz est renvoyé<🎜> | ||||||||||||||||||||
<🎜>datetime.utcfromtimestamp(timestamp)<🎜> | <🎜>Créer un datetime basé sur l'objet d'horodatage<🎜> | ||||||||||||||||||||
<🎜>datetime.combine(date,time)<🎜> | < td><🎜>Intégrer les objets date et heure spécifiés Pour les objets datetime<🎜>|||||||||||||||||||||
<🎜>datetime.strftime(date_string ,format)<🎜> | <🎜>Convertir une chaîne formatée en objet datetime<🎜> |
实现:
类方法
import datetime import time print(datetime.datetime.resolution) print(datetime.datetime.today()) print(datetime.datetime.now()) print(datetime.datetime.utcnow()) print(datetime.datetime.fromtimestamp(time.time())) print(datetime.datetime.utcfromtimestamp(time.time())) print(datetime.datetime.combine(datetime.date(2019, 3, 5), datetime.time(3, 2, 45))) print(datetime.datetime.strftime(datetime.date(2019,9,2),'%Y-%m-%d %X'))
result
0:00:00.000001 2018-09-17 20:32:36.868500 2018-09-17 20:32:36.868500 2018-09-17 12:32:36.868500 2018-09-17 20:32:36.868500 2018-09-17 12:32:36.868500 2019-03-05 03:02:45 2019-09-02 00:00:00
其中常用的方法与属性:
dt.year dt.month dt.day | 年 月 日 |
dt.hour dt.minute dt.second | 时 分 秒 |
dt.microseconde | Subtil |
dt .tzinfo | Informations sur le fuseau horaire |
dt.date() | Récupérez l'objet date de dt |
dt.time() | Récupérez l'objet temporel de dt, tzinfo n'est aucun |
dt.timetz() | Obtenir l'objet temporel de dt, tzinfo est le même que le tzinfo de datetime |
dt.replace() | Spécifier le remplacement du paramètre (année, mois, jour, heure , minute, seconde, subtil , fuseau horaire), générer et renvoyer un nouvel objet |
dt.timetuple() | renvoie l'heure correspondant au Tuple de date et d'heure (time.struct_time) (hors tzinfo) |
dt.utctimetuple() | Renvoyer l'heure UTC Le tuple d'heure correspondant (hors tzinfo) |
dt.timestamp() | renvoie l'objet dt correspondant Timestamp |
dt.toordinal() | La date de retour est la première depuis 0001-01-01 Combien de jours (identique à la classe de date) |
dt.weekday() | Le jour de la semaine où la date de retour est, [ 1, 7], 1 signifie lundi (identique à la classe de date) |
dt.isocalendar() | Renvoie un tuple temporel au format (année, mois, jour) (identique à la classe de date) |
dt.isoformat () | Renvoyer une chaîne au format 'AAAA-MM-JJ HH:MM:SS' |
dt.ctime() | Équivalent à time.ctime (time.mktime(d.timetuple())) du module time |
dt.strftime () | Renvoie la chaîne d'heure au format spécifié |
实现:
方法
import datetime,time print(datetime.datetime.today().tzinfo) print(datetime.datetime.today().date()) print(datetime.datetime.today().time()) print(datetime.datetime.today().timetz()) print(datetime.datetime.today().timetuple()) print(datetime.datetime.today().timestamp()) print(datetime.datetime.today().ctime())
result
None 2018-09-17 20:36:47.560500 20:36:47.560500 time.struct_time(tm_year=2018, tm_mon=9, tm_mday=17, tm_hour=20, tm_min=36, tm_sec=47, tm_wday=0, tm_yday=260, tm_isdst=-1) 1537187807.5605 Mon Sep 17 20:36:47 2018
4、timedelta类
时间加减(代表了两个datetime之间的时间差)
datetime.timedalta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0 ,hours=0,weeks=0)
在日期上做天,小时,分钟,秒,毫秒,微秒,周 的时间计算
1毫秒转换为1000微秒
1分钟转换为60秒
1小时转换为3600秒
1周转换为7天
其中,timedelta内部只存储 days,seconds,microseconds
方法与属性:
td.days | 天(范围[-999999999,999999999]) |
td.seconds | 秒(范围[0,86399]) |
td.microseconds | 微秒(范围[0,999999]) |
td.total_seconds() | 以秒为单位返回该时间差 |
实现:
方法
m = datetime.datetime.now() print(m) l = m + datetime.timedelta(3) print(l) n = m + datetime.timedelta(hours=4) print(n) span = l-m print(span) print(span.total_seconds())
result
2018-09-17 16:38:43.021000 2018-09-20 16:38:43.021000 2018-09-17 20:38:43.021000 3 days, 0:00:00 259200.0
5、tzinfo时区类
其中,tzinfo是一个抽象类,所以不能直接被实例化
时间转换需要用datetime和pytz来转换时区
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!