Python - 时间处理
from datetime import datetime,date,time
In [18]: dt = datetime(2023,1,2,15,8,1)
In [19]: dt.day # 获得日期值
Out[19]: 2
In [20]: dt.minute # 获得分钟值
Out[20]: 8
In [21]: dt.date() # 获得date对象
Out[21]: datetime.date(2023, 1, 2)
In [22]: dt.time() # 获得time对象
Out[22]: datetime.time(15, 8, 1)
# 格式化为字符串
In [26]: dt.strftime('%m/%d/%Y %H:%M')
Out[26]: '01/02/2023 15:08'
# 将字符串格式化为datetime对象
In [27]: datetime.strptime('20230102','%Y%m%d')
Out[27]: datetime.datetime(2023, 1, 2, 0, 0)
# 将分钟和秒替换为0
In [36]: dt.replace(minute=0,second=0)
Out[36]: datetime.datetime(2023, 1, 2, 15, 0)
#由于datetime.datetime 是不可变类型,以上的方法都是产生新的对象
# 两个不同的datetime对象会产生一个datetime.timedelta 类型的对象
In [37]: dt1 = datetime.now()
In [38]: dt3 = dt1 - dt
# 输出的timedelta(734,617519) 734秒又617519毫秒
In [40]: dt3
Out[40]: datetime.timedelta(seconds=734, microseconds=617519)
# 将timedelta 加到一个datetime上将产生一个新的对象
In [41]: dt
Out[41]: datetime.datetime(2023, 1, 2, 15, 8, 1)
In [42]: dt + dt3
Out[42]: datetime.datetime(2023, 1, 2, 15, 20, 15, 617519)
获得时间戳
- time
>>> import time
>>> time.time()
1672232514.6050115
# 秒级
>>> int(time.time())
1672232828
# 毫秒级
>>> round(time.time() * 1000)
1672232849419
>>>
- datetime
>>> import datetime
>>> datetime.datetime.now().timestamp()
1672232557.850828
本文来自博客园,作者:chuangzhou,转载请注明原文链接:https://www.cnblogs.com/czzz/p/17011297.html