datetime模块
【一】导入模块
import datetime
【二】自定义日期
res = datetime.date(2019, 7, 15)
print(res) # 2019-07-15
【三】获取本地时间
- 年月日
now_date = datetime.date.today()
print(now_date)
# 2023-06-02
- 年月日时分秒
now_time = datetime.datetime.today()
print(now_time)
# 2023-06-02 19:16:56.447458
-
无论是年月日,还是年月日时分秒对象
-
都可以调用以下方法获取针对性的数据
- 以datetime对象举例
now_time = datetime.datetime.today() print(now_time.year) # 获取年份2023 print(now_time.month) # 获取月份6 print(now_time.day) # 获取日2 print(now_time.weekday()) # 4 获取星期(weekday星期是0-6) 0表示周一 print(now_time.isoweekday()) # 5 获取星期(weekday星期是1-7) 1表示周一
【四】timedelta对象
【1】可以对时间进行运算操作
import datetime
(1)获得本地日期 年月日
tday = datetime.date.today()
print(tday)
# 2023-06-02
(2)定义操作时间
- day=7
- 也就是可以对另一个时间对象加7天或者减少7点
tdelta = datetime.timedelta(days=7)
print(tdelta)
# 7 days, 0:00:00
【2】打印今天的日期
tday = datetime.date.today()
print('今天的日期:{}'.format(tday))
# 今天的日期:2023-06-02
【3】打印七天后的日期
tdelta = datetime.timedelta(days=7)
tday = datetime.date.today()
print('从今天向后推7天:{}'.format(tday + tdelta))
# 从今天向后推7天:2023-06-09
【4】总结:日期对象与timedelta之间的关系
- 日期对象 = 日期对象 +/- timedelta对象
- timedelta对象 = 日期对象 +/- 日期对象
(1)定义日期对象/定义timedelta对象
now_date1 = datetime.date.today()
lta = datetime.timedelta(days=6)
(2)验证
now_date2 = now_date1 + lta # 日期对象 = 日期对象 +/- timedelta对象
print(type(now_date2)) # <class 'datetime.date'>
lta2 = now_date1 - now_date2 # timedelta对象 = 日期对象 +/- 日期对象
print(type(lta2)) # <class 'datetime.timedelta'>
【五】练习
【1】计算举例今年过生日还有多少天
import datetime
birthday = datetime.date(2019, 12, 21)
now_date = datetime.date.today()
tday = datetime.date.today()
days = birthday - now_date
print('生日:{}'.format(birthday))
print('今天的日期:{}'.format(tday))
print('距离生日还有{}天'.format(days))
# 生日:2019-12-21
# 今天的日期:2023-06-02
# 距离生日还有-1259 days, 0:00:00天
【六】总结年月日时分秒及时区问题
import datetime
dt_today = datetime.datetime.today()
dt_now = datetime.datetime.now()
dt_utcnow = datetime.datetime.utcnow() # UTC时间与我们的北京时间cha ju
print(dt_today)
# 2023-06-02 19:37:46.933068
print(dt_now)
# 2023-06-02 19:37:46.933068
print(dt_utcnow)
# 2023-06-02 11:37:46.933068