Python 标准库

time

2022-03-29

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

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

time.time()

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

函数

  • time
  • datetime

时间

当前时间

时间戳

1633763846.883627
1
import time
2
3
time.time()

数组格式

1
import datetime
2
import time
3
4
time.gmtime() # UTC 时间
5
time.localtime() # 本机时间;反函数 mktime
6
# 返回 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)
7
8
datetime.utcnow() # UTC 时间
9
datetime.datetime.now()
10
datetime.datetime.today()
11
# 返回:datetime.datetime(2021, 10, 1, 12, 42, 42, 861603)

计算

时间戳计算

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

requests 捕获 timed out 异常

  • except requests.exceptions.Timeout as e:

参考