Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2012 19:20:08

paraffine9208
Зарегистрирован: 2012-08-19
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Временной интервал

Добрый вечер!
Как задать временной интервал?
Например с 9-00 и до 18-00?

Офлайн

#2 Дек. 4, 2012 20:13:09

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Временной интервал

Посмотрите модуль time…



Офлайн

#3 Дек. 4, 2012 20:26:50

paraffine9208
Зарегистрирован: 2012-08-19
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Временной интервал

Смотрел я модули datetime и time, но не могу придумать способ

Офлайн

#4 Дек. 4, 2012 20:51:26

paraffine9208
Зарегистрирован: 2012-08-19
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Временной интервал

Спасибо!
Уже не надо.

Офлайн

#5 Дек. 4, 2012 20:53:32

paraffine9208
Зарегистрирован: 2012-08-19
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Временной интервал

   
    start = time.mktime(t[:3] + start + t[6:])
    finish = time.mktime(t[:3] + finish + t[6:])

Поясните пожайлуста

Офлайн

#6 Дек. 4, 2012 20:56:45

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Временной интервал

хм, я прочитал, что не надо, и удалил

import time
def func(start, finish):
    t = time.localtime()
    start = time.mktime(t[:3] + start + t[6:]) # подменяем ч:м:с в полученном кортеже time.localtime() своими
    finish = time.mktime(t[:3] + finish + t[6:]) # аналогично.
    if start >= finish:
        finish += 86400
    return finish - start
start = (12, 0, 0) # часы, мин, сек.
finish = (20, 30, 0) # часы, мин, сек.
print func(start, finish)

Офлайн

#7 Дек. 4, 2012 20:57:56

paraffine9208
Зарегистрирован: 2012-08-19
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Временной интервал

Поясните пожайлуста.
Я не понимаю этой записи.

Офлайн

#8 Дек. 4, 2012 21:22:29

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Временной интервал

>>> import time
>>> tlkt = time.localtime()
>>> tlkt
(2012, 12, 4, 21, 8, 37, 1, 339, 0)
>>> tnew = tlkt[:3] + (22, 0, 0) + tlkt[6:] # заменили время на свое.
>>> tnew
(2012, 12, 4, 22, 0, 0, 1, 339, 0)
>>> time.mktime(tnew) - time.mktime(tlkt)
3083.0 # разница между 22:00:00 и 21:08:37
>>> 

Офлайн

#9 Дек. 4, 2012 21:37:39

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Временной интервал

start = [20, 30, 0]
finish = [19, 0, 0]
start =  start[0]*3600 + start[1]*60 + start[2]
finish = finish[0]*3600 + finish[1]*60 + finish[2]
if finish <= start:
    finish += 86400
print finish - start

Офлайн

#10 Дек. 4, 2012 22:02:52

paraffine9208
Зарегистрирован: 2012-08-19
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Временной интервал

Спасибо!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version