我有一个日期时间戳(例如time(6,30)
),它将返回06:30:00。
我想知道如何将其转换为6.5小时。
亲切的问候
答案 0 :(得分:2)
您可以简单地使用:
import datetime
the_time = datetime.time(6,30)
value = the_time.hour + the_time.minute/60.0
如果您想要花费几秒钟的秒数,您可以使用:
import datetime
the_time = datetime.time(6,30)
value = the_time.hour + the_time.minute/60.0 + \
the_time.second/3600.0 + the_time.microsecond/3600000000.0
这里都生成:
>>> the_time.hour + the_time.minute/60.0
6.5
>>> the_time.hour + the_time.minute/60.0 + \
... the_time.second/3600.0 + the_time.microsecond/3600000000.0
6.5
或者如果您想使用'hrs'
后缀打印它:
import datetime
the_time = datetime.time(6,30)
print('{} hrs'.format(the_time.hour + the_time.minute/60.0))
这将打印:
>>> print('{} hrs'.format(the_time.hour + the_time.minute/60.0))
6.5 hrs
答案 1 :(得分:1)
假设你的意思是6.5小时,那就是timedelta
。 time
对象用于24小时制的时间。这些是不同的概念,不应混合使用。
您也不应将时间视为“自午夜以来经过的时间”,因为某些日子包括夏令时转换,可以增加或减少此值。例如,对于美国的大多数地区,在2017-11-05,您提供06:30:00
的时间将从午夜起经过 7.5小时,因为1到2之间的小时重复为了后退过渡。
所以问题的答案是 - 不要。