Python提供一个处理时间的标准函数库datetime,它提供了一系列由简单到复杂的时间处理方法。
datetime库以类的方式提供多种日期和时间表达方式,在此只介绍使用datetime类。
datetime.datetime:日期和时间表示的类。
datetime类的使用方法是首先创建一个datetime对象,然后通过对象的方法和属性显示日期及时间。
1、创建datetime对象
(1)使用datetime.now()获得当前日期和时间对象,返回一个datetime类型,精确到微秒。
>>> from datetime import datetime as dt
>>> dt.now()
datetime.datetime(2020, 12, 26, 19, 44, 33, 596822)
(2)直接使用datetime()构造一个日期和时间对象,其使用方法如下:
datetime(year,month,day,hour=0,minute=0,second=0,microsecond=0)
返回一个datetime类型,表示指定的日期和时间,可以精确到微秒。
>>> dt(2020,12,28,12,23,33,2)
datetime.datetime(2020, 12, 28, 12, 23, 33, 2)
>>> dt(2020,12,30)
datetime.datetime(2020, 12, 30, 0, 0)
2、datetime类的常用属性——返回对应的年/月/日/时/分/秒/微秒
>>> sd=dt(2020,12,28,12,23,33,2)
>>> sd
datetime.datetime(2020, 12, 28, 12, 23, 33, 2)
>>> sd.year
2020
>>> sd.month
12
>>> sd.day
28
>>> sd.hour
12
>>> sd.minute
23
>>> sd.second
33
>>> sd.microsecond
2
3、datetime类常用的时间格式化方法someday.strftime(format)
strftime()方法是时间格式化最有效的方法,几乎可以以任何通用格式输出时间。
>>> from datetime import datetime
>>> sd=datetime.now()
>>> print(sd.strftime("%F %r %T"))
2020-12-26 09:34:09 PM 21:34:09
>>> print(sd.strftime("%x %X"))
12/26/20 21:34:09
>>> print(sd.strftime("%Y--%m--%d--%B--%b--%A--%a %H:%M:%S %I:%M:%S %p"))
2020--12--26--December--Dec--Saturday--Sat 21:34:09 09:34:09 PM
#strftime格式符也可以与print搭配使用
>>> print("今天是{0:%Y}年{0:%m}月{0:%d}日,{0:%H}时{0:%M}分{0:%S}秒星期{0:%w}!".format(sd))
今天是2020年12月26日,21时36分54秒星期6!
注意,strftime()格式化字符串的数字左侧会自动补零。
4、datetime库主要用于对时间的表示,从格式化角度掌握strftime()函数已经可以处理很多情况了。