pre*_*lpi 2 python string datetime python-2.7
如何将HH:MM:SS转换为分钟?
我尝试下面工作正常:
import datetime as DT
t1 = DT.datetime.strptime('0:10:00', '%H:%M:%S')
Run Code Online (Sandbox Code Playgroud)
我尝试了另一个例子并收到错误:
import datetime as DT
t1 = DT.datetime.strptime('9715:56:46', '%H:%M:%S')
Run Code Online (Sandbox Code Playgroud)
错误:
ValueError: time data '9715:56:46' does not match format '%H:%M:%S'
Run Code Online (Sandbox Code Playgroud)
在这个例子中它支持%23为%H,如果我的小时数超过23(在这种情况下我有9715小时)如何获得它?
您可以使用sum生成器表达式或map:
from operator import mul
my_time = '9715:56:46'
factors = (60, 1, 1/60)
t1 = sum(i*j for i, j in zip(map(int, my_time.split(':')), factors))
t2 = sum(map(mul, map(int, my_time.split(':')), factors))
print(t1) # 582956.7666666667
assert t1 == t2
Run Code Online (Sandbox Code Playgroud)
datetime.datetime 是时间点的表示,而不是持续时间.
datetime.timedelta是一段时间的代表.注意:
from datetime import timedelta
delta = timedelta(hours=9715, minutes=56, seconds=46)
total_seconds = delta.total_seconds()
minutes = int(total_seconds // 60)
seconds = int(total_seconds % 60)
print('{minutes}:{seconds}'.format(minutes=minutes, seconds=seconds))
Run Code Online (Sandbox Code Playgroud)
编辑:我更改了代码以使用python 2.7.
| 归档时间: |
|
| 查看次数: |
9609 次 |
| 最近记录: |