Уведомления

Группа в Telegram: @pythonsu

#1 Март 17, 2015 17:30:28

Wolko_dav
От: Ярославль
Зарегистрирован: 2014-02-12
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Python Time

Всем доброго времени суток. Нужна какая-нибудь библиотека, штука, для работы со временем. Причем со временем, не как с часами, где максимум 24 часа, а именно как со временем, что бы не было ограничений на кол-во часов, но можно было секунды в часы переводить, в минуты, и т.д…
Стандартный datetime.time не подходит т.к. там ограничения на часы, а у меня может полчутсья 100+ часов.

Офлайн

#2 Март 17, 2015 17:47:39

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Python Time

Офлайн

#3 Март 17, 2015 17:51:39

Wolko_dav
От: Ярославль
Зарегистрирован: 2014-02-12
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Python Time

sander, хорошо, им и пользуюсь, но хотелось бы плюшек из серии форматирования в строку (timedelta такого не умеет, во всяком случае гибкого способа)

Офлайн

#4 Март 17, 2015 17:53:48

Wolko_dav
От: Ярославль
Зарегистрирован: 2014-02-12
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Python Time

Если не умеет такого никто, то будем своё мутить(

Офлайн

#5 Март 17, 2015 17:56:56

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Python Time

Приведите пример, не охватываемый функционалом datetime



Офлайн

#6 Март 17, 2015 18:01:01

Wolko_dav
От: Ярославль
Зарегистрирован: 2014-02-12
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Python Time

Хорошо:

import datetime
t1 = datetime.timedelta(hours=100, minutes=100)
t2 = datetime.timedelta(hours=100, minutes=100)
s = t1 + t2
И вот теперь надо как-то перевести s в строку. Причем нужны только часы и минуты. Если мучаться с str(s), то плохо, оно выводит дни, если переводить в datetime.time, но с часами проблема, уж слишком много их. И что делать?

Отредактировано Wolko_dav (Март 17, 2015 18:03:59)

Офлайн

#7 Март 17, 2015 18:22:18

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Python Time

# -*-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)



Офлайн

#8 Март 17, 2015 18:34:16

Wolko_dav
От: Ярославль
Зарегистрирован: 2014-02-12
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Python Time

FishHook, хорошо, и это я тоже понимаю, вопрос был как раз, а вообще есть библиотеки для работы со временем в таком формате?

Офлайн

#9 Март 17, 2015 23:24:31

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Python Time

Wolko_dav
а вообще есть библиотеки для работы со временем в таком формате?
Для этого достаточно сделать один класс.



Офлайн

#10 Март 18, 2015 05:00:49

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Python Time

Wolko_dav
FishHook, хорошо, и это я тоже понимаю, вопрос был как раз, а вообще есть библиотеки для работы со временем в таком формате?
Со временем - не вопрос.
date = datetime.datetime.now()
print date.strftime("%d.%m.%Y %H:%M:%S")
с разницей времени - вряд ли, обычно timedelta используется для вычисления даты/времени, а не как самостоятельный результат вычислений.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version