时间相关的类型转换

python时间相关的库和转换关系

string 类型(time)

1
2
3
4
5
6
7
8
import time

# 创建文本时间
s = time.ctime() # 以当前系统地区来决定输出的时间文本格式
s = "2008-11-10 17:53:59"
# 转换为时间对象
t = time.strptime(s, "%Y-%m-%d %H:%M:%S")

datetime 对象

1
2
3
4
5
6
7
8
9
10
11
12
import datetime

# 创建datetime对象
# dt_obj = datetime.datetime.now()
dt_obj = datetime.datetime(2008, 11, 10, 17, 53, 59)
# 转换为文本型时间
print(dt_obj.strftime("%Y-%m-%d %H:%M:%S"))
# 转换为时间对象
time_tuple = dt_obj.timetuple()
# 转化哪位时间戳
time_stamp = dt_obj.timestamp()

time 对象

1
2
3
4
5
6
7
8
9
10
import time

# 创建time对象
time_tuple = (2008, 11, 12, 13, 51, 18, 2, 317, 0)
# 转换为文本型时间
time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
# 转换为datetime对象
datetime.datetime(*time_tuple[0:6])
# 转换为时间戳
time.mktime(time_tuple)

int 类型(时间戳)

1
2
3
4
5
6
7
8
import time, datetime

# 获取当前时间的时间戳
timestamp = time.time()
# 转换为 datetime对象
datetime.datetime.fromtimestamp(timestamp) # 本地时区时间
# 转换为 time对象
time.localtime(timestamp)

带时区的处理

转换为 datetime对象

1
2
3
4
5
6
import time, datetime

# 本地时区时间
datetime.datetime.fromtimestamp(timestamp)
# 标准时区时间
datetime.datetime.utcfromtimestamp(timestamp)

转换为 time对象

1
2
3
4
# 本地时区
time.localtime(timestamp)
# 标准时区
time.gmtime(timestamp)