首页 > 解决方案 > 如何在 Python 中将 HH:MM:SS 转换为 time.time() 对象

问题描述

我需要将HH:MM:SS格式转换为time.time()对象。有什么办法吗?

这是我的HH:MM:SS格式化时间:

a = '14:37:29'

我想将其转换为time.time()对象,例如:

a = 1600256249

这是可以实现的吗?如果不是,我应该尝试什么?希望你能帮忙。

标签: pythonarraysstringdatetimetime

解决方案


要获取 UNIX 时间,您需要添加一个日期。例如,您可以将时间字符串与今天的日期结合起来:

from datetime import datetime, timezone

s = '14:37:29'
today = datetime.today() # 2020-09-16

# make a datetime object with today's date
dt = datetime.combine(today, datetime.strptime(s, '%H:%M:%S').time())

# make sure it's in UTC (optional)
dt = dt.replace(tzinfo=timezone.utc)

# get the timestamp
ts = dt.timestamp()
print(ts)
# 1600267049.0

您还可以使用dateutilzoneinfo (Python 3.9+)使​​用这种方法设置其他时区。


推荐阅读