Python中如何进行日期时间处理?代码举例讲解

日期和时间处理是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