将 timedelta 转换为毫秒 python

问题描述 投票:0回答:3

我有以下时间:

time = datetime.timedelta(days=1, hours=4, minutes=5, seconds=33, milliseconds=623)

是否可以将时间转换为毫秒?
像这样:

101133623.0
python timestamp timedelta
3个回答
4
投票

我找到了解决问题的可能性

import datetime

time = datetime.timedelta(days=1, hours=4, minutes=5, seconds=33, milliseconds=623)
result = time.total_seconds()*1000
print(result)


1
投票

这当然是可能的。

1 day + 4 hours + 5 minutes + 33 seconds + 623 milliseconds =
24 * 60 * 60 seconds + 4 * 60 * 60 seconds + 5 * 60 seconds + 33 seconds + 0.623 seconds =
86400 seconds + 14400 seconds + 300 seconds + 33 seconds + 0.623 seconds =
101133.623 seconds

只需使用乘法

功能如下:

def timestamp_to_milliseconds(timestamp):

  day, hour, minute, second, millisecond = timestamp.split(":")
  seconds = int(day) * 24 * 60 * 60 + int(hour) * 60 * 60 + int(minute) * 60 + int(second)
  seconds += float(millisecond) / 1000
  milliseconds = seconds * 1000

  return milliseconds

0
投票

根据 datetime 文档,将 timedelta 转换为毫秒的推荐方法是:

millis = td / timedelta(milliseconds=1)

我不确定与您分享的

total_seconds() * 1000
解决方案相比是否会产生不同的结果。

© www.soinside.com 2019 - 2024. All rights reserved.