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
posted @ 2022-12-28 21:08  chuangzhou  阅读(15)  评论(0编辑  收藏  举报