datetime
获取当前日期和时间
from datetime import datetime now = datetime.now() print(now)
datetime转换为timestamp使用now.timestamp()
now = now.timestamp()
timestamp转换为datetime使用fromtimestamp()函数
print(datetime.fromtimestamp(now))
timestamp也可以直接被转换到UTC标准时区的时间:
print(datetime.utcfromtimestamp(now)) # UTC时间
str转换为datetime
很多时候,用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()
实现,需要一个日期和时间的格式化字符串:
from datetime import datetime day = datetime.strptime('2017-12-27 10:38:43','%Y-%m-%d %H:%M:%S') print(day)
datetime转换为str
如果已经有了datetime对象,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过strftime()
实现的,同样需要一个日期和时间的格式化字符串:
from datetime import datetime day = datetime.now() print(day.strftime('%a %b %d %H:%M'))
datetime加减
对日期和时间进行加减实际上就是把datetime往后或往前计算,得到新的datetime。加减可以直接用+
和-
运算符,不过需要导入timedelta
这个类
from datetime import datetime, timedelta now = datetime.now() print(now + timedelta(hours=10)) print(now - timedelta(days=1)) print(now + timedelta(days=2, hours=12))
小结
datetime
表示的时间需要时区信息才能确定一个特定的时间,否则只能视为本地时间。
如果要存储datetime
,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。