日期和时间处理是Python中常见的需求,Python提供了datetime
模块用于处理日期和时间。主要有以下方法:
1. 获取当前日期和时间:
- datetime.date.today() 获取当前日期。
- datetime.datetime.now() 获取当前日期和时间。
例如:
import datetime
today = datetime.date.today()
print(today) # 2020-04-27
now = datetime.datetime.now()
print(now) # 2020-04-27 16:29:37.686888
2. 日期参数和格式化:
- 用
datetime.date(year, month, day)
创建日期对象。 - 用
datetime.time(hour, minute, second)
创建时间对象。 - strftime(‘%Y-%m-%d’)格式化日期,strftime(‘%H:%M:%S’)格式化时间。
例如:
d = datetime.date(2020, 4, 27)
print(d) # 2020-04-27
t = datetime.time(16, 29, 37)
print(t) # 16:29:37
d.strftime('%Y-%m-%d') # '2020-04-27'
t.strftime('%H:%M:%S') # '16:29:37'
3. 日期加减和差值:
- datetime.date.today() + datetime.timedelta(days=n)在日期上加减天数。
- datetime2 – datetime1获取两个日期差值,得到
datetime.timedelta
对象。 - datetime.timedelta.days获取差值中的天数。
例如:
today = datetime.date.today()
yesterday = today - datetime.timedelta(days=1)
print(yesterday) # 2020-04-26
tomorrow = today + datetime.timedelta(days=1)
print(tomorrow) # 2020-04-28
print((tomorrow - yesterday).days) # 2
4. 时间对比:
- datetime1 > datetime2判断
datetime1
是否大于datetime2
。 - datetime1 < datetime2判断
datetime1
是否小于datetime2
。
例如:
d1 = datetime.date(2020, 4, 27)
d2 = datetime.date(2020, 4, 28)
print(d1 > d2) # False
print(d1 < d2) # True