Найти - Пользователи
Полная версия: отсчет времени
Начало » Python для новичков » отсчет времени
1 2 3
Genabox
  
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()
ой что то я запутался
61 минуту пишет а должен сбросить
и часы не считает
Genabox
  
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()
готово!
# time.sleep(0.01) - режим реального времени
440908 fms: 2 hr | 2 min | 26 sec | 25 ms
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
OK. спасибо за подсказочки
Genabox
за 4 минуты убежало вперед на 12 секунд
мне такое не подходит
возвращаюсь к первичному варианту c datatime
цыклы тут неработают
или я где то в коде ошибаюсь?
Genabox
 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)
это както можно запустить? и желательно с микросикундами
py.user.next
Ты напиши функцию, которая принимает строку “00:00:00”, а возвращает строку “00:00:01”.
Вот начало функции
  
def increment_time(timestr):
    pass
Genabox
да я так и думал читать время и добовлять по 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()
вот это точто я изначально и планировал время 12 ночи и начать отсчет,,,
вроде работает 0:01:08
подождем часик…
Genabox
мда все работает
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()
py.user.next
Genabox
да я так и думал читать время и добовлять по 1 секунде
Я тебе говорю функцию напиши. Это всё не просто так. Напишешь - я тебе скажу дальше, что с ней делать.
Genabox
сори я свою задачу решил - код работает
у меня работы валом дальше бежать нужно
py.user.next
Genabox
сори я свою задачу решил - код работает
Ну, не знаю, это выглядит очень ужасно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB