Maison >développement back-end >Tutoriel Python >Introduction à la date et à l'heure d'apprentissage du module Python

Introduction à la date et à l'heure d'apprentissage du module Python

高洛峰
高洛峰original
2017-01-14 15:52:281053parcourir

Par rapport au module time, l'interface du module datetime est plus intuitive et plus facile à appeler. Aujourd'hui, parlons du module datetime.

Le module datetime définit deux constantes : datetime.MINYEAR et datetime.MAXYEAR, qui représentent respectivement l'année minimale et maximale que datetime peut représenter. Parmi eux, MINYEAR = 1, MAXYEAR = 9999. (Pour les joueurs occasionnels, cette plage est suffisante~~)

Le module datetime définit les classes suivantes :

•datetime.date : une classe représentant la date. Les attributs couramment utilisés incluent l'année, le mois et le jour ;
•datetime.time : une classe représentant l'heure. Les attributs couramment utilisés incluent l'heure, la minute, la seconde, la microseconde ;
•datetime.datetime : représente la date et l'heure.
•datetime.timedelta : représente l'intervalle de temps, c'est-à-dire la durée entre deux points temporels.
•datetime.tzinfo : informations associées liées aux fuseaux horaires. (Cette classe ne sera pas entièrement discutée en détail ici. Les enfants intéressés peuvent se référer au manuel de python)
Remarque : les types d'objets ci-dessus sont tous immuables.

Ce qui suit décrit comment utiliser ces classes en détail.

classe de date
classe de date représente une date. La date comprend l'année, le mois et le jour (tout le monde sur terre le sait ~~). Le constructeur de la classe date est le suivant :

class datetime.date(année, mois, jour) : La signification des paramètres ne sera pas beaucoup expliquée, mais il y a quelques points auxquels il faut faire attention :

• La plage de l'année est [MINYEAR, MAXYEAR], c'est-à-dire [1, 9999] ; la plage de
·mois est [1, 12]. (Le mois commence à 1, pas à 0~_~) ;
•La valeur maximale du jour est déterminée en fonction des paramètres de l'année et du mois donnés. Par exemple, février dans une année bissextile compte 29 jours ;
La classe date définit certaines méthodes de classe et attributs de classe couramment utilisés pour faciliter nos opérations :

•date.max, date.min : la valeur maximale que l'objet date peut représenter, la date minimale ;
•date.resolution : L'objet date représente l'unité minimale de date. C'est le paradis.
•date.today() : renvoie un objet date représentant la date locale actuelle ;
•date.fromtimestamp(timestamp) : renvoie un objet date basé sur l'horodatage donné
•datetime.fromordinal ( ordinal) : Convertissez l'heure du calendrier grégorien en un objet date ; (Calendrier grégorien : une méthode de représentation du calendrier, similaire au calendrier lunaire de notre pays, qui est plus couramment utilisée dans les pays occidentaux et ne sera pas discutée en détail ici.)

Exemple d'utilisation :

from datetime import * 
import time 

print 'date.max:', date.max 
print 'date.min:', date.min 
print 'date.today():', date.today() 
print 'date.fromtimestamp():', date.fromtimestamp(time.time()) 

# # ---- 结果 ---- 
# date.max: 9999-12-31 
# date.min: 0001-01-01 
# date.today(): 2010-04-06 
# date.fromtimestamp(): 2010-04-06

Méthodes et attributs d'instance fournis par date :

•date.year, date.month, date.day : année, mois, jour •date.replace(year,month, day) : génère un nouvel objet date, en remplaçant les attributs de l'objet d'origine par l'année, le mois et le jour spécifiés par les paramètres. (L'objet d'origine reste inchangé)
•date.timetuple() : Renvoie l'objet time.struct_time correspondant à la date
•date.toordinal() : Renvoie la date du calendrier grégorien correspondant à la date ; >• date.weekday() : renvoie le jour de la semaine, si c'est lundi, renvoie 0 ; si c'est lundi, renvoie 1, et ainsi de suite ;
•data.isoweekday() : renvoie le jour de la semaine, si c'est lundi, renvoie 1; Si c'est le 2 de la semaine, renvoie 2, et ainsi de suite ;
•date.isocalendar() : Renvoie un tuple avec un format tel que
•date) ; isoformat() : renvoie un tuple avec un format tel que la chaîne ' AAAA-MM-JJ' ;
•date.strftime(fmt) : chaîne de format personnalisé. Expliquez en détail ci-dessous.

Exemple d'utilisation :

date surcharge également certaines opérations, ce qui nous permet d'effectuer les opérations suivantes sur les dates :
now = date(2010, 04, 06) 
tomorrow = now.replace(day = 07) 
print 'now:', now, ', tomorrow:', tomorrow 
print 'timetuple():', now.timetuple() 
print 'weekday():', now.weekday() 
print 'isoweekday():', now.isoweekday() 
print 'isocalendar():', now.isocalendar() 
print 'isoformat():', now.isoformat() 

# # ---- 结果 ---- 
# now: 2010-04-06 , tomorrow: 2010-04-07 
# timetuple(): (2010, 4, 6, 0, 0, 0, 1, 96, -1) 
# weekday(): 1 
# isoweekday(): 2 
# isocalendar(): (2010, 14, 2) 
# isoformat(): 2010-04-06

·date2 = date1 timedelta # Ajouter un intervalle à la date et renvoie un nouvel objet date (timedelta sera introduit ci-dessous pour représenter l'intervalle de temps)
•date2 = date1 - timedelta # Ajoutez l'intervalle à la date et renvoie un nouvel objet date
•timedelta = date1 - date2 # Soustrayez deux dates et renvoyez un objet d'intervalle de temps
•date1 f6e6b69820338ff49e0f9fe720594749 % 

例子: 

dt = datetime.now() 
print '(%Y-%m-%d %H:%M:%S %f): ', dt.strftime('%Y-%m-%d %H:%M:%S %f') 
print '(%Y-%m-%d %H:%M:%S %p): ', dt.strftime('%y-%m-%d %I:%M:%S %p') 
print '%%a: %s ' % dt.strftime('%a') 
print '%%A: %s ' % dt.strftime('%A') 
print '%%b: %s ' % dt.strftime('%b') 
print '%%B: %s ' % dt.strftime('%B') 
print '日期时间%%c: %s ' % dt.strftime('%c') 
print '日期%%x:%s ' % dt.strftime('%x') 
print '时间%%X:%s ' % dt.strftime('%X') 
print '今天是这周的第%s天 ' % dt.strftime('%w') 
print '今天是今年的第%s天 ' % dt.strftime('%j') 
print '今周是今年的第%s周 ' % dt.strftime('%U') 

# # ---- 结果 ---- 
# (%Y-%m-%d %H:%M:%S %f): 2010-04-07 10:52:18 937000 
# (%Y-%m-%d %H:%M:%S %p): 10-04-07 10:52:18 AM 
# %a: Wed 
# %A: Wednesday 
# %b: Apr 
# %B: April 
# 日期时间%c: 04/07/10 10:52:18 
# 日期%x:04/07/10 
# 时间%X:10:52:18 
# 今天是这周的第3天 
# 今天是今年的第097天 
# 今周是今年的第14周

这些就是datetime模块的基本内容,总算写完了~~oh yeah~~

更多Python模块学习 datetime介绍相关文章请关注PHP中文网!

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