datetime是Python处理日期和时间的标准库。
1.datetime
实例:
# -*- coding: utf-8 -*-
# @Time : 2022/4/22 9:13
# @File : datetimedemo.py
# @Software : PyCharm
from datetime import datetime, timedelta,timezone
# 用指定日期时间创建datetime
dt = datetime(2022, 5, 20, 12, 45)
print(dt)
# 把datetime转换为timestamp
tsp = dt.timestamp()
print(tsp)
# timestamp转换为datetime
dt = datetime.fromtimestamp(tsp)
print(dt)
# UTC时间,即英国伦敦时间
dt = datetime.utcfromtimestamp(tsp)
print(dt)
# 获取当前时间
now = datetime.now()
print('当前时间:',now)
# 时间转字符串
print('当前时间:',now.strftime('%a, %b %d %H:%M'))
# 转为中文格式日期字符串
print('当前时间:',now.strftime('%Y{y}%m{m}%d{d} %H:%M').format(y='年', m='月', d='日'))
# 时间运算
now = now + timedelta(days=2, hours=12) #当前时间 增加两天零12小时
print('当前时间增加两天零12小时后:',now)
# 获得当前时间的UTC时间
utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
print("UTC时间:",utc_dt)
# astimezone()将转换时区为东京时间
tokyo_dt = utc_dt.astimezone(timezone(timedelta(hours=9)))
print("东京时间:",tokyo_dt)
运行结果:
2022-05-20 12:45:00
1653021900.0
2022-05-20 12:45:00
2022-05-20 04:45:00
当前时间: 2022-04-22 09:36:02.558104
当前时间: Fri, Apr 22 09:36
当前时间: 2022年04月22日 09:36
当前时间增加两天零12小时后: 2022-04-24 21:36:02.558104
UTC时间: 2022-04-22 01:36:02.558104+00:00
东京时间: 2022-04-22 10:36:02.558104+09:00
小结:
datetime表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。 如果要存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。