【问题标题】:How to convert HH:MM:SS to time.time() object in Python [duplicate]如何在 Python 中将 HH:MM:SS 转换为 time.time() 对象 [重复]
【发布时间】:2020-09-16 11:40:00
【问题描述】:

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

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

a = '14:37:29'

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

a = 1600256249

这可以实现吗?如果不是,我应该尝试什么?希望对您有所帮助。

【问题讨论】:

  • 是字符串吗?如果是这样,您可以从这里开始查看:stackoverflow.com/questions/466345/…
  • 请确保您阅读了建议副本中的所有答案。您的问题可能不会在接受的答案中得到回答

标签: python arrays string datetime time


【解决方案1】:

要获取 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+) 使​​用这种方法设置其他时区。

【讨论】:

    【解决方案2】:

    这可以实现吗?

    我会说不。 a = '14:37:29' 仅保留小时-分钟-秒,而 time.time() 确实返回自纪元开始以来的秒数,即您还需要知道小时、分钟、秒之外的日期、月份和年份,以创建与 time.time() 返回的等效内容.

    【讨论】:

    • 谢谢哥们。那我应该另寻出路。
    猜你喜欢
    • 2019-11-01
    • 2011-10-30
    • 2015-01-07
    • 2012-11-27
    • 2016-12-16
    • 2019-03-08
    • 2019-07-14
    • 1970-01-01
    相关资源
    最近更新 更多