python如何将字符串转换为数字时间

python如何将字符串转换为数字时间

作者:Joshua Lee发布时间:2026-01-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何使用Python将字符串格式的时间转换为数字时间?

我有一个时间的字符串,比如'2023-06-15 14:30:00',想转换成数字时间格式,应该怎么做?

A

利用datetime模块解析字符串时间

可以使用Python的datetime模块中的strptime方法来解析字符串,生成datetime对象,然后根据需求转换为数字时间。例如:

from datetime import datetime
s = '2023-06-15 14:30:00'
dt = datetime.strptime(s, '%Y-%m-%d %H:%M:%S')
print(dt.timestamp())  # 输出时间戳,数字类型

这样就把时间字符串转换成了浮点数字时间戳。

Q
怎样将时间字符串转换为时间戳(秒数)?

时间字符串如何快速转换成Unix时间戳?

A

使用datetime结合timestamp获取Unix时间戳

利用datetime模块的strptime方法先将字符串转成datetime对象,然后调用timestamp方法即可得到时间戳,表示从1970年1月1日以来的秒数。示例代码:

from datetime import datetime
s = '2023-06-15 14:30:00'
dt = datetime.strptime(s, '%Y-%m-%d %H:%M:%S')
timestamp = dt.timestamp()
print(int(timestamp))  # 转为整数时间戳
Q
Python如何解析带有不同格式的时间字符串?

如果时间字符串格式不是标准的“年-月-日 时:分:秒”,比如'15/06/2023 14:30',该怎么转换为数字时间?

A

根据字符串格式自定义解析格式参数

用datetime.strptime时,根据字符串的实际格式修改格式化参数,比如对于'15/06/2023 14:30',需要用'%d/%m/%Y %H:%M',示例如下:

from datetime import datetime
s = '15/06/2023 14:30'
dt = datetime.strptime(s, '%d/%m/%Y %H:%M')
timestamp = dt.timestamp()
print(timestamp)

确认格式化字符串和时间字符串匹配,否则会报错。