Форум сайта python.su
import time def timenows(): while True: z = 0 a = 0 b = 0 c = 0 d = 0 mssec = 999 + 999*60 + 999*3600 + 999*216000 for i in range(mssec): # time.sleep(0.01) a += 1 #print('Прошло',a ,'Секунд',b,'минут', c, 'часов') print(d, 'fms:', z, 'hr |', c, 'min |', b,' sec |',a ,'ms' ) if z / 60 ==1: z +=1 if a / 60 == 1: b += 1 a = 0 if b / 60 == 1: c += 1 b = 0 d += 1 if c / 60 == 1: d += 1 d += 1 #timek = d + ' fms: ' + z + ' hr | ' + c + ' min | ' + b + ' sec | ' + a + ' ms' #return timek timenows()
Офлайн
import time def timenows(): while True: z = 0 a = 0 b = 0 c = 0 d = 0 mssec = 999 + 999*60 + 999*3600 + 999*216000 for i in range(mssec): # time.sleep(0.01) a += 1 #print('Прошло',a ,'Секунд',b,'минут', c, 'часов') print(d, 'fms:', z, 'hr |', c, 'min |', b,' sec |',a ,'ms' ) if z / 60 ==1: z +=1 if a / 60 == 1: b += 1 a = 0 if b / 60 == 1: c += 1 b = 0 d += 1 if c / 60 == 1: z +=1 c = 0 d += 1 d += 1 #timek = d + ' fms: ' + z + ' hr | ' + c + ' min | ' + b + ' sec | ' + a + ' ms' #return timek timenows()
440908 fms: 2 hr | 2 min | 26 sec | 25 msOK. спасибо за подсказочки
440909 fms: 2 hr | 2 min | 26 sec | 26 ms
440910 fms: 2 hr | 2 min | 26 sec | 27 ms
440911 fms: 2 hr | 2 min | 26 sec | 28 ms
440912 fms: 2 hr | 2 min | 26 sec | 29 ms
440913 fms: 2 hr | 2 min | 26 sec | 30 ms
Офлайн
за 4 минуты убежало вперед на 12 секунд
мне такое не подходит
возвращаюсь к первичному варианту c datatime
цыклы тут неработают
или я где то в коде ошибаюсь?
Отредактировано Genabox (Янв. 29, 2023 02:56:12)
Офлайн
from datetime import time import datetime time(hour=12, minute=34, second=56, microsecond=123456).isoformat(timespec='minutes') '12:34' dt = time(hour=0, minute=0, second=0, microsecond=0) dt.isoformat(timespec='microseconds') dt.isoformat(timespec='auto') print(dt)
Отредактировано Genabox (Янв. 29, 2023 03:17:29)
Офлайн
Ты напиши функцию, которая принимает строку “00:00:00”, а возвращает строку “00:00:01”.
Вот начало функции
def increment_time(timestr): pass
Офлайн
да я так и думал читать время и добовлять по 1 секунде
from threading import Timer import datetime as dt from datetime import datetime x=2 now = datetime.now() _now = now - now def timenows(): global _now if x==1: now = datetime.now() # current date and time texttime = now.strftime("%H:%M:%S") timer = Timer(1, timenows) timer.start() print(texttime) return texttime else: if x==2: _in_1_sec = _now + dt.timedelta(seconds=1) _now = _in_1_sec timer = Timer(1, timenows) timer.start() print(_in_1_sec) return _in_1_sec timenows()
Отредактировано Genabox (Янв. 29, 2023 09:35:33)
Офлайн
мда все работает
1:01:39
1:01:40
1:01:41
1:01:42
1:01:43
1:01:44
1:01:45
1:01:46
1:01:47
1:01:48
1:01:49
1:01:50
1:01:51
1:01:52
вот мой финальный кодик
from threading import Timer import datetime as dt from datetime import datetime x=2 now = datetime.now() _now = now - now def timenows(): global _now if x==1: now = datetime.now() # current date and time texttime = now.strftime("%H:%M:%S") timer = Timer(1, timenows) timer.start() print(texttime) return texttime else: if x==2: _in_1_sec = _now + dt.timedelta(seconds=1) _now = _in_1_sec timer = Timer(1, timenows) timer.start() print(_in_1_sec) return _in_1_sec timenows()
Отредактировано Genabox (Янв. 29, 2023 10:36:39)
Офлайн
GenaboxЯ тебе говорю функцию напиши. Это всё не просто так. Напишешь - я тебе скажу дальше, что с ней делать.
да я так и думал читать время и добовлять по 1 секунде
Офлайн
сори я свою задачу решил - код работает
у меня работы валом дальше бежать нужно
Офлайн
GenaboxНу, не знаю, это выглядит очень ужасно.
сори я свою задачу решил - код работает
Офлайн