Python - 时间单位转换的最佳实践

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

除了显式算术之外,Python 是否提供对时间单位转换的支持?例如,在 Java 中:

TimeUnit.DAYS.toMillis(1);     // 1 day to milliseconds.
TimeUnit.MINUTES.toMillis(23); // 23 minutes to milliseconds.
TimeUnit.HOURS.toMillis(4);    // 4 hours to milliseconds.
TimeUnit.SECONDS.toMillis(96); // 96 seconds to milliseconds.
python python-3.x
3个回答
0
投票

您可以尝试

dateutil
library,它有一个
relativedelta
功能,您可能会觉得有用。


0
投票

Python 的

datetime
模块提供了
datetime
timedelta
类。特别是
timedelta
类,具有天数、秒数和微秒数的属性,但不幸的是,要将天数转换为毫秒,您实际上需要乘以
60*60*24*1000


0
投票

有点晚了,但这适用于明确的单位(即不是年或月):

unit_in = ['D','D','ms','S']
unit_out = ['S','ms','D','ms']
for uin,uout in zip(unit_in,unit_out):
    conv = pd.Timedelta('1'+uin).total_seconds()/pd.Timedelta('1'+uout).total_seconds()
    print(f'There are {conv} {uout} in 1 {uin}')


There are 86400.0 S in 1 D
There are 86400000.0 ms in 1 D
There are 1.1574074074074074e-08 D in 1 ms
There are 1000.0 ms in 1 S
© www.soinside.com 2019 - 2024. All rights reserved.