除了显式算术之外,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.
datetime
模块提供了 datetime
和 timedelta
类。特别是 timedelta
类,具有天数、秒数和微秒数的属性,但不幸的是,要将天数转换为毫秒,您实际上需要乘以 60*60*24*1000
。
有点晚了,但这适用于明确的单位(即不是年或月):
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