Python入门教程(二十七)Python的日期
日期和时间是我们日常生活中非常重要的部分,而Python标准库中的datetime
模块提供了很好的日期和时间处理工具。本教程将介绍datetime
模块的基础用法和常见应用。
datetime模块概述
datetime
模块包含了日期和时间处理类,包括:
date
:处理日期的类time
:处理时间的类datetime
:同时处理日期和时间的类timedelta
:用于计算时间差的类
date类
date
类处理的是日期,包含年、月、日三个部分。创建date
对象方法如下:
from datetime import date
d = date(2022, 12, 31)
print(d)
输出结果为:
2022-12-31
date
对象还有一些常见的属性和方法,比如:
year
:年份month
:月份day
:日份weekday()
:返回星期几,星期一为0,星期天为6isoweekday()
:返回星期几,星期一为1,星期天为7
示例代码如下:
from datetime import date
d = date(2022, 12, 31)
print(d.year) # 2022
print(d.month) # 12
print(d.day) # 31
print(d.weekday()) # 5 (星期六)
print(d.isoweekday()) # 6 (星期六)
time类
time
类处理的是时间,包含时、分、秒、微秒四个部分。创建time
对象方法如下:
from datetime import time
t = time(12, 30, 0, 500000)
print(t)
输出结果为:
12:30:00.500000
time
对象还有一些常见的属性和方法,比如:
hour
:小时minute
:分钟second
:秒microsecond
:微秒
示例代码如下:
from datetime import time
t = time(12, 30, 0, 500000)
print(t.hour) # 12
print(t.minute) # 30
print(t.second) # 0
print(t.microsecond) # 500000
datetime类
datetime
类是date
类和time
类的结合体,处理的是日期和时间。创建datetime
对象方法如下:
from datetime import datetime
dt = datetime(2022, 12, 31, 12, 30, 0, 500000)
print(dt)
输出结果为:
2022-12-31 12:30:00.500000
datetime
对象常用的属性和方法如下:
year
:年份month
:月份day
:日份hour
:小时minute
:分钟second
:秒microsecond
:微秒date()
:返回date
对象time()
:返回time
对象timestamp()
:返回时间戳
示例代码如下:
from datetime import datetime
dt = datetime(2022, 12, 31, 12, 30, 0, 500000)
print(dt.year) # 2022
print(dt.month) # 12
print(dt.day) # 31
print(dt.hour) # 12
print(dt.minute) # 30
print(dt.second) # 0
print(dt.microsecond) # 500000
print(dt.date()) # 2022-12-31
print(dt.time()) # 12:30:00.500000
print(dt.timestamp()) # 1661949000.5 (时间戳)
timedelta类
timedelta
类是用于计算时间差的类,可以使用datetime
对象相减得到一个timedelta
对象,或者直接创建一个timedelta
对象。timedelta
对象的参数包括天、秒、微秒。
示例代码如下:
from datetime import datetime, timedelta
dt1 = datetime(2022, 12, 31, 12, 30, 0)
dt2 = datetime(2022, 12, 30, 12, 30, 0)
td = dt1 - dt2
print(td) # 1 day, 0:00:00
td = timedelta(days=1)
print(td) # 1 day
td = timedelta(seconds=60)
print(td) # 0:01:00
常用日期格式化
在实际应用中,日期和时间通常需要以特定的格式呈现。datetime
类提供了strftime()
方法,可以将日期和时间格式化成字符串,常用的格式化参数如下:
%Y
:四位数的年份表示(如:2022)%m
:月份(01-12)%d
:日(01-31)%H
:24小时制小时数(00-23)%M
:分钟数(00-59)%S
:秒数(00-59)%f
:微秒数%a
:本地简化星期名称%A
:本地完整星期名称%b
:本地简化的月份名称%B
:本地完整的月份名称%c
:本地相应的日期和时间表示%p
:本地A.M.或P.M.的等价符%z
:时区名称%Z
:时区偏移量
示例代码如下:
from datetime import datetime
dt = datetime(2022, 12, 31, 12, 30, 0, 500000)
print(dt.strftime('%Y-%m-%d %H:%M:%S.%f')) # 2022-12-31 12:30:00.500000
print(dt.strftime('%Y年%m月%d日 %H:%M:%S')) # 2022年12月31日 12:30:00
总结
本教程介绍了datetime
模块的基础用法和常见应用,包括date
类、time
类、datetime
类和timedelta
类。另外,也介绍了常用的日期格式化方法。
示例说明
示例1:计算日期差
下面的示例演示了如何计算两个日期之间的天数差:
from datetime import date
d1 = date(2022, 12, 31)
d2 = date(2022, 12, 1)
delta = d1 - d2
print(delta.days) # 输出 30
示例2:获取当前日期时间
下面的示例演示了如何获取当前日期和时间:
from datetime import datetime
now = datetime.now()
print(now.strftime('%Y-%m-%d %H:%M:%S')) # 输出 2022-01-01 12:30:00
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python入门教程(二十七)Python的日期 - Python技术站