Python 标准库

time

2022-03-29

[[Python]] 的 time 模块由底层 C 库提供与时间相关的函数。

因为项目中有个操作需要去判断当前日夜,因此记录下。

time.time()

.time 从[[纪元]]开始以来的秒数作为一个浮点数返回。

函数

  • time
  • datetime

时间

当前时间

时间戳

1633763846.883627
import time
time.time()

数组格式

import datetime
import time
time.gmtime() # UTC 时间
time.localtime() # 本机时间;反函数 mktime
# 返回 time.struct_time(tm_year=2021, tm_mon=10, tm_mday=11, tm_hour=19, tm_min=21, tm_sec=42, tm_wday=0, tm_yday=284, tm_isdst=0)
datetime.utcnow() # UTC 时间
datetime.datetime.now()
datetime.datetime.today()
# 返回:datetime.datetime(2021, 10, 1, 12, 42, 42, 861603)

计算

时间戳计算

from datetime import datetime, timedelta
local_time = datetime.now()
# 返回 datetime.datetime(2022, 1, 19, 0, 47, 51, 466384)
hours_ago = local_time - timedelta(hours=8)
# 返回 datetime.datetime(2022, 1, 18, 16, 43, 25, 870600
timestamp = datetime.timestamp(hours_ago)
# 返回 1642495405.8706
# 转换为时间戳
# 秒
s = str(timestamp)[:10] # '1642495405'
s = hours_ago.strftime('%s') # '1642495405'
# 毫秒
ms = int(timestamp * 1000) # 1642495405870
impot time
local_time = time.time() # 1642594551.111939
s = round(local_time) # 10位
ms = str(local_time * 1000)[:13] # 13位
# 计算
hours_ago = local_time - 3600 * 8
ago_s = round(hours_ago)

requests 捕获 timed out 异常

  • except requests.exceptions.Timeout as e:

参考