python内建datetime模块

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的值与时区完全无关。





原文地址:https://www.cnblogs.com/ncuhwxiong/p/8124649.html