Wolko_dav
Март 17, 2015 17:30:28
Всем доброго времени суток. Нужна какая-нибудь библиотека, штука, для работы со временем. Причем со временем, не как с часами, где максимум 24 часа, а именно как со временем, что бы не было ограничений на кол-во часов, но можно было секунды в часы переводить, в минуты, и т.д…
Стандартный datetime.time не подходит т.к. там ограничения на часы, а у меня может полчутсья 100+ часов.
sander
Март 17, 2015 17:47:39
Wolko_dav
Март 17, 2015 17:51:39
sander, хорошо, им и пользуюсь, но хотелось бы плюшек из серии форматирования в строку (timedelta такого не умеет, во всяком случае гибкого способа)
Wolko_dav
Март 17, 2015 17:53:48
Если не умеет такого никто, то будем своё мутить(
FishHook
Март 17, 2015 17:56:56
Приведите пример, не охватываемый функционалом datetime
Wolko_dav
Март 17, 2015 18:01:01
Хорошо:
import datetime
t1 = datetime.timedelta(hours=100, minutes=100)
t2 = datetime.timedelta(hours=100, minutes=100)
s = t1 + t2
И вот теперь надо как-то перевести s в строку. Причем нужны только часы и минуты. Если мучаться с str(s), то плохо, оно выводит дни, если переводить в datetime.time, но с часами проблема, уж слишком много их. И что делать?
FishHook
Март 17, 2015 18:22:18
# -*-coding:utf-8-*-
import datetime
t1 = datetime.timedelta(hours=100, minutes=100)
t2 = datetime.timedelta(hours=100, minutes=100)
s = t1 + t2
hours, remainder = divmod(s.total_seconds(), 3600)
minutes, seconds = divmod(remainder, 60)
print '%d:%d:%d' % (hours, minutes, seconds)
Wolko_dav
Март 17, 2015 18:34:16
FishHook, хорошо, и это я тоже понимаю, вопрос был как раз, а вообще есть библиотеки для работы со временем в таком формате?
py.user.next
Март 17, 2015 23:24:31
Wolko_dav
а вообще есть библиотеки для работы со временем в таком формате?
Для этого достаточно сделать один класс.
FishHook
Март 18, 2015 05:00:49
Wolko_dav
FishHook, хорошо, и это я тоже понимаю, вопрос был как раз, а вообще есть библиотеки для работы со временем в таком формате?
Со временем - не вопрос.
date = datetime.datetime.now()
print date.strftime("%d.%m.%Y %H:%M:%S")
с разницей времени - вряд ли, обычно timedelta используется для вычисления даты/времени, а не как самостоятельный результат вычислений.