如果仅导入import datetime,则必须引用全名datetime.datetime。
引入
>>> from datetime import datetime
>>> a = datetime.now()
>>> a
datetime.datetime(2020, 5, 16, 15, 16, 21, 778901)
>>> type(a)
<class 'datetime.datetime'>
.timestamp()
datetime括号里至少要写到日
时间转化为时间戳
>>> b = datetime.datetime(2021,4,2,2,4,6)
>>> b
datetime.datetime(2021, 4, 2, 2, 4, 6)
>>> b.timestamp()
1617300246.0
.fromtimestamp()
时间戳转换回去
>>> datetime.fromtimestamp(b.timestamp())
datetime.datetime(2021, 4, 2, 2, 4, 6)
时间比较
时间之间的比较不仅仅可以使用时间戳,甚至带汉字的字符串也可以
>>> a.timestamp()>b.timestamp()
False
>>> a>b
False
>>> a<b
True
带汉字的比较
>>> a.strftime('%Y年%m月%d日')
'2020年05月16日'
>>> b.strftime('%Y年%m月%d日')
'2021年04月02日'
>>> a > b
False
把str转换为datetime
datetime.strptime()
在使用datetime.strptime()需格外注意,比如连接符是英文字符,比如‘-’或者‘/’,这两个都可以
>>> d = datetime.strptime('2015/6', '%Y/%m')
>>> d
datetime.datetime(2015, 6, 1, 0, 0)
把datetime转换为str
.strftime()
>>> a
datetime.datetime(2020, 5, 16, 15, 16, 21, 778901)
>>> c = a.strftime('%Y年%m月%d日')
>>> c
'2020年05月16日'
时间的加减
比如:days=2, hours=12
>>> from datetime import datetime
>>> from datetime import timedelta
>>>> a
datetime.datetime(2020, 5, 16, 15, 16, 21, 778901)
>>> a + timedelta(hours=1)
datetime.datetime(2020, 5, 16, 16, 16, 21, 778901)