Что нового

[Время, дата] Выполнить действие по Московскому времени, независимо от текущего часового пояса

Крепыш

Новичок
Сообщения
105
Репутация
2
Код:
Local Const $iTime = 23 * 60 + 57  ; Время по Московскому времени

While @HOUR > 1 And @HOUR * 60 + @MIN =< $iTime
  ConsoleWrite("Ждём" & @CR)
  Sleep(10000)
WEnd
MsgBox(0, "", "Выполняем действие")


Нужно выполнить действие в определённое время по Московскому времени, независимо от текущего часового пояса.
Как?
 

ildar

Осваивающий
Сообщения
252
Репутация
30
Тут есть по твоему вопросу http://autoit-script.ru/index.php?topic=17466.0 а там добавишь +4 (московское)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Крепыш [?]
Нужно выполнить действие в определённое время по Московскому времени, независимо от текущего часового пояса.
А не проще поменять московское время на системное?
 
Автор
К

Крепыш

Новичок
Сообщения
105
Репутация
2
Решил задачу другим способом. Но, если кому интересно, то текущее время по UTC можно определить как-то так:

Код:
#include <Date.au3>
Local Const $iOffset = -4
Local Const $iTime = (23 + $iOffset) * 60 + 57  ; Время выполнения действия по UTC
Local $iCurrentTime
Do
    ; Определяем текущее время по UTC:
    Local $tSystemTime = _Date_Time_GetSystemTime()
    Local $iHour = DllStructGetData($tSystemTime, "Hour")
    Local $iMin = DllStructGetData($tSystemTime, "Minute")
    $iCurrentTime = $iHour*60 + $iMin
    Sleep(10000)
Until $iCurrentTime >= $iTime
MsgBox(0, "", "Выполняем действие")
 
Верх