Python中datetime模块的解释和示例Python中的日期和时间操作是使用一个名为datetime的模块完成的。它的类具有处理日期、时间、时区和时差的功能。是内置模块,不需要专门安装
Python中的日期和时间操作是使用一个名为datetime的模块完成的。它的类具有处理日期、时间、时区和时差的功能。是内置模块,不需要专门安装。
Datetime模块不仅使我们能够计算日期和时间,还通过高效的属性提取帮助我们打印格式。
A.. datetime中的常数Datetime模块包含两个常数:
MINYEAR:它是date或datetime对象的最小有效年数。其值为1。
import datetimeprint(datetime.MINYEAR)# output: 1
MAXYEAR:它是日期或日期时间对象的最大有效年数。它的值是9999。
import datetimeprint(datetime.MAXYEAR)# output: 9999
B.B.datetime中的类本模块中有六个允许操作日期和时间的类:
1.日期类这个类的对象代表日历中的日期(格式:年、月、日)。用于此格式的日历目前是公历。这个类的构造函数需要所有三个参数:年、月和日。
语法:
class datetime.date(year, month, day)
参数应参考以下设置:
MINYEAR <= year <= MAXYEAR 1 <= month <= 12 1 <= day <= 给定月份和年份中的天数
如果参数的值超出上述范围,将指示ValueError,如果类型不是整数,将抛出TypeError。
示例:
MINYEAR <= year <= MAXYEAR 1 <= month <= 12 1 <= day <= 给定月份和年份中的天数
简单的例子:
from datetime import date date0 = date ( 2021 , 6 , 6 ) print ( "简单的示例: " , date0 )# output:简单的示例: 2021-06-06
date类具有下列类方法和属性:
from datetime import dateimport time## today() 方法datetoday= date.today()print("今天是: ", datetoday) # 今天是: 2021-06-07## fromtimestamp() 方法date1 = date.fromtimestamp(time.time())print("给定时间戳的日期是: ", date1)# 给定时间戳的日期是: 2021-06-07## fromordinal() 方法ordinal0= date.fromordinal(1000)print("从零开始的第1000天是: ", ordinal0)# 从零开始的第1000天是: 0003-09-27## fromisoformat() 方法dateiso= date.fromisoformat('2019-12-04')print("文本中的日期是: ", dateiso)# 文本中的日期是: 2019-12-04## fromisocalendar(year,week,day) 方法ii = date.fromisocalendar(2010,4,3)print("由年、周和日指定的日期是: ", ii)# 由年、周和日指定的日期是: 2010-01-27
date类也有实例方法。实例方法是使用类实例的方法,而类方法只能与类名一起使用。下面是date类的一个示例方法:
from datetime import date## replace() 实例方法x = date(2019, 9, 25)x.replace(year=2010, day=15)print("替换后的日期是:", x)## timetuple 实例方法t = x.timetuple()## 返回该日期的信息信息print ("返回的日期信息是:", t)## toordinal() 实例方法d = x.toordinal()print("给定日期的公历序数是:", d)## weekday() 实例方法print("给定日期是星期几?",x, "是:", x.weekday())## isoweekday() 实例方法print("给定日期是星期几?",x, "在ISO日期是:", x.isoweekday())## isocalendar() 实例方法print("在公历日期中,",x,"是:",x.isocalendar())## 下面的函数转换日期字符串## isoformat 实例方法s=x.isoformat()print("给定日期转化成 ISO 8601 格式是:", s)## str 实例方法print("给定日期转化为文本是:", str(x))## ctime() 实例方法print("给定日期的完整字符串表示,",x,"是:", x.ctime())## strftime() 实例方法xyear = x.strftime("%Y")xdate_time = x.strftime("%Y/%m/%d, %H:%M:%S")print("给定日期使用 format 格式化为文本")print(xyear)print(xdate_time)## format() 实例方法st=format(x)print("给定日期转为文本是:",st)## output:## 替换后的日期是: 2019-09-25## 返回的日期信息是: time.struct_time(tm_year=2019, tm_mon=9, tm_mday=25, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=268, tm_isdst=-1)## 给定日期的公历序数是: 737327## 给定日期是星期几? 2019-09-25 是: 2## 给定日期是星期几? 2019-09-25 在ISO日期是: 3## 在公历日期中, 2019-09-25 是: (2019, 39, 3)## 给定日期转化成 ISO 8601 格式是: 2019-09-25## 给定日期转化为文本是: 2019-09-25## 给定日期的完整字符串表示, 2019-09-25 是: Wed Sep 25 00:00:00 2019## 给定日期使用 format 格式化为文本## 2019## 2019/09/25, 00:00:00## 给定日期转为文本是: 2019-09-25
2.时间类time类的对象表示本地时间,可以通过tzinfo对象进行调整。
语法:
class datetime.time(hour, minute, second, microsecond, tzinfo, *, fold)
示例:
from datetime import time time0 = time(13, 24,34) print("给定时间示例:", time0)
今天和大家初步学习了Python标准库中的datetime模块。你学会了吗?