1

Тема: AHK: Узнать интервал времени между А и В в секундах

Формат времени: ЧЧ:ММ:СС

Необходимо узнать интервал в секундах между input1 и input2.

Примеры:

input1 = 16:30:15
input2 = 16:30:50
output = 35

input1 = 16:30:15
input2 = 16:31:15
output = 60

input1 = 16:59:00
input2 = 17:01:00
output = 120

Есть ли какой-нибудь короткий способ?

2 (изменено: svoboden, 2017-04-15 19:01:03)

Re: AHK: Узнать интервал времени между А и В в секундах

input1 :=  30
input2 :=  15

MsgBox % input1 - input2

3

Re: AHK: Узнать интервал времени между А и В в секундах

Скорее уж так:


input1 := "16:59:00"
input2 := "17:01:00"
MsgBox,, Title, % GetSec(input2) - GetSec(input1)

GetSec(str) {
	strArr:=StrSplit(str,":")
	return strArr[1]*3600 + strArr[2]*60 + strArr[3]
}

4 (изменено: Akatosh, 2017-04-15 18:29:05)

Re: AHK: Узнать интервал времени между А и В в секундах

svoboden
Работать как должно не будет, т.к. нет условия: Формат времени: ЧЧ:ММ:СС

KusochekDobra
Спасибо! Это работает.

Модератор: Замечание за оверквотинг! Удалено.

5 (изменено: svoboden, 2017-04-15 21:26:44)

Re: AHK: Узнать интервал времени между А и В в секундах

Я просто показал принцип, что нужно отнять переменные или функции, чтобы узнать интервал времени. А вы хотя бы точки поставили бы в конце предложений, так точнее будет:

input1 := "61260" ; это секунды, сложенные из 17:01:00
input2 := "61140" ; 16:59:00

MsgBox % FormatSeconds(input1 - input2)

FormatSeconds(OfSeconds)
{
    time = 19990101
    time += %OfSeconds%, seconds
    FormatTime, mmss, %time%, mm:ss
    return OfSeconds//3600 ":" mmss
}