Что нового

[Время, дата] Как вычесть время в секундах?

Guezt

Продвинутый
Сообщения
335
Репутация
81
Возникла сложность, пытаюсь получить время в формате ЧЧ:ММ:СС
через функцию :
Код:
_DateDiff()


условие:
1. дано Дата и точное время! например 25 января 2010 года 00:45:16
2. Время в формате ЧЧ:ММ:СС 01:33:04 (которое надо отнять от 1. ) но и это время так же независит от даты...
3. надо найти разницу в секундах исходя из:

(25 января 2010 года 00:45:16 - 01:33:04) - сейчас(время и дата на компьютере) = ЧЧ:ММ:СС (обратный таймер)

просто даты отнять сложить смог, а вот как время складывать или отнимать, когда уже на другой день переходит дата, как в этом примере, не смог разобраться... :(

:wacko:
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Код:
_DateDiff('s', $start_date, $end_date)

PS: справку надо читать до конца ;)
 
Автор
G

Guezt

Продвинутый
Сообщения
335
Репутация
81
Kaster [?]
_DateDiff('s', $start_date, $end_date)
да но если я незнаю какая у меня будет дата посмотри я же написал если отнять то уже другая дата получится, как отнять время что бы дата тоже учлась?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
что значит чтобы дата учлась?
идентификатор s вычитает одну дату от другой и разницу представляет в виде секунды. не в этом цель?
пример из справки
Код:
#include <Date.au3>

; Calculated the number of seconds since EPOCH (1970/01/01 00:00:00) 
$iDateCalc = _DateDiff( 's',"1970/01/01 00:00:00",_NowCalc())
MsgBox( 4096, "", "Number of seconds since EPOCH: " & $iDateCalc )
 

snoitaleR

AutoIT Гуру
Сообщения
854
Репутация
223
Guezt
Может, ты вот такой вариант имел ввиду?

Код:
#include <Date.au3>
$MOMENT="2010/01/25 00:45:16"
$DIFF="01:33:04"
MsgBox(0,"",_DateAdd('s',fSEC($DIFF),$MOMENT))

Func fSEC($T)
 $A=StringSplit($T,":")
 Return $A[1]*3600+$A[2]*60+$A[3]
EndFunc
 
Автор
G

Guezt

Продвинутый
Сообщения
335
Репутация
81
snoitaleR
Спасибо, только надо было отнять я заменил строчку
Код:
MsgBox(0,"",_DateAdd('s',-fSEC($DIFF),$MOMENT))

+ :ok:
 
Верх