Что нового

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

Guezt

Продвинутый
Сообщения
335
Репутация
82
Возникла сложность, пытаюсь получить время в формате ЧЧ:ММ:СС
через функцию :
Код:
_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
Репутация
626
Код:
_DateDiff('s', $start_date, $end_date)

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

Guezt

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

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
что значит чтобы дата учлась?
идентификатор 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 Гуру
Сообщения
855
Репутация
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
Репутация
82
snoitaleR
Спасибо, только надо было отнять я заменил строчку
Код:
MsgBox(0,"",_DateAdd('s',-fSEC($DIFF),$MOMENT))

+ :ok:
 
Верх