将日期时间转换为小时数?

时间:2017-07-21 22:02:44

标签: python datetime time

我有一个日期时间戳(例如time(6,30)),它将返回06:30:00。 我想知道如何将其转换为6.5小时。

亲切的问候

2 个答案:

答案 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小时,那就是timedeltatime对象用于24小时制的时间。这些是不同的概念,不应混合使用。

您也不应将时间视为“自午夜以来经过的时间”,因为某些日子包括夏令时转换,可以增加或减少此值。例如,对于美国的大多数地区,在2017-11-05,您提供06:30:00的时间将从午夜起经过 7.5小时,因为1到2之间的小时重复为了后退过渡。

所以问题的答案是 - 不要。