我有形式&00; 00:00:00.0000000'从中我只想提取浮点数分钟。从import time
到目前为止,我有这个:
>>> reformat = time.strptime('00:05:36.0100000', '%H:%M:%S.%f0')
>>> print reformat
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=5, tm_sec=36, tm_wday=0, tm_yday=1, tm_isdst=-1)
似乎这应该跟time.getminutes(reformat)
或reformat.minutes()
之类的东西一样。我无法找到这样的操作。
答案 0 :(得分:3)
将日期字符串解析为datetime.datetime。由于日期字符串没有年,月或日,因此日期时间将假定日期为1900-1-1
。如果我们减去datetime.datetime(1900,1,1)
,我们将获得具有total_seconds
method的datetime.timedelta
对象。转换为分钟很容易:
从
中减去它import datetime as DT
t1 = DT.datetime.strptime('00:05:36.0100000', '%H:%M:%S.%f0')
t2 = DT.datetime(1900,1,1)
print((t1-t2).total_seconds() / 60.0)
产量
5.60016666667
答案 1 :(得分:3)
如果是日期时间对象,即来自日期时间导入时间。 你可以简单地计算它
timeobject.hour*60+timeobject.minute+timeobject.second/60
由于你需要微小的分辨率,我怀疑是否需要第二甚至微秒的准确度