1

Тема: AHK: Прибавить время, в текущее время, в переменной

Здравствуйте!

Имеется переменная, в данной переменой значение

Var1 = 01:59:01

Соответственно это Час:Минута:Секунда
Как прибавить 59 секунд, чтобы получилось 02:00:00?

P.S Мне нужно, простой командой, прибавлять некоторое время, в текущее время.
Пробовал узнать про функцию envadd, но ничего не понял, т.к там есть только пример с текущей датой на моем пк, а если я допустим хочу из Log файла вытащить время и прибавить к нему, то нигде про это найти не смог.

Прошу помощи!

2 (изменено: Clannad5, 2019-05-28 12:08:35)

Re: AHK: Прибавить время, в текущее время, в переменной

stealzy
уже вроде бы разобрался.
Я просто конвертировал часы, минуты в секунды, потом прибавляю нужное количество секунд и обратно конвертирую в часы:минуты:секунды.

   RegExMatch(Var, "^(..):(..):(..)$", t)
   HR := t1
   ME := t2
   SD := t3
   HR *= 60
   HR *= 60
   ME *= 60
   SD := HR + ME
SD += 2700

3

Re: AHK: Прибавить время, в текущее время, в переменной

time := "01:59:01"
MsgBox % TimeFormat(SecFormat(time) + 59)

ExitApp
SecFormat(time_str) {
	t := StrSplit(time_str, ":")
	return t[1] * 3600 + t[2] * 60 + t[3]
}
TimeFormat(time_sec) {
	return Format("{:02}:{:02}:{:02}"   , (h := time_sec // 3600)
										, (m := (time_sec - h * 3600) // 60)
										, time_sec - (h * 3600 + m * 60))
}

4

Re: AHK: Прибавить время, в текущее время, в переменной

Через EnvAdd:

Var1 = 01:59:01
time := "19700101" . StrReplace(Var1, ":")
time += 59, s
MsgBox, % newTime := RegExReplace(time, ".*?(..(?=(....|..)$))", "$1:")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Прибавить время, в текущее время, в переменной

На строчку длиннее, но без RegEx.


Var1 = 01:59:01
time := "19700101" . StrReplace(Var1, ":")
time += 59, s 
FormatTime, time, % time, hh:mm:ss
MsgBox, % time
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: AHK: Прибавить время, в текущее время, в переменной

Хотя у teadrinker плюс в том, что при некорректной дате будет пустая строка, а в моём варианте будет текущее время.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui