Как я могу получить часы от даты Python? - PullRequest
24 голосов
/ 01 декабря 2011

У меня есть Python datetime, d, и я хочу получить число часов с полуночи в виде числа с плавающей запятой.Лучшее, что я придумал, это:

h = ((((d.hour * 60) + d.minute) * 60) + d.second) / (60.0 * 60)

Что дает 4,5 за 4:30 утра, 18,75 за 6:45 вечера и т.д. Есть ли лучший способ?

Ответы [ 2 ]

37 голосов
/ 01 декабря 2011
h = d.hour + d.minute / 60. + d.second / 3600.

имеет меньше скобок ...

5 голосов
/ 01 декабря 2011
h = (d - d.replace(hour=0,minute=0,second=0)).seconds / 3600.

... имеет меньшее деление и / или умножение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...