26

Re: AHK: Обработка времени с сайта

Локальная в смысле, что время локальное показывает. Да нет, всё верно, я просто в начале не совсем понял, не запустив, думал, там операция с секундами между A_NowUTC и полученным временем. А вообще я бы попросту 3 прибавил.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

27 (изменено: wisgest, 2016-05-09 07:12:13)

Re: AHK: Обработка времени с сайта

Можно ещё так получать время с сайта:

request := ComObjCreate("Microsoft.XMLHTTP")
request.open("HEAD", "http://script-coding.com/", false)
request.send()
MsgBox % request.getResponseHeader("Date")

28 (изменено: DD, 2018-06-21 13:47:31)

Re: AHK: Обработка времени с сайта

29 (изменено: DD, 2018-06-21 13:49:20)

Re: AHK: Обработка времени с сайта

Как объединить следующие два кода teadrinker`а (конвертирующего секунды в дату) и wisgest (учитывающего часовой пояс) из постов 5 и 16? —

TimeInSec := 1427193636
Time := 19700101   ; первое января 1970 года
Time += TimeInSec, s
MsgBox, % Time
; . . .
UTCOffset_sec -= A_NowUTC, sec ; учитываем часовой пояс
DateTime = 19700101 
DateTime += ms_utc // 1000 + UTCOffset_sec, sec
MsgBox %DateTime%

30 (изменено: DD, 2018-06-22 14:16:43)

Re: AHK: Обработка времени с сайта

31

Re: AHK: Обработка времени с сайта

Верно ли записан этот код? —

STRING := FormatSeconds(1529617543)
MsgBox % STRING
FormatSeconds(NumberOfSeconds)
{
    time = 19700101   ; первое января 1970 года
    time += %NumberOfSeconds%, seconds
    ;FormatTime, time, %time%, dd.MM.yyyy, h:mm:ss
    FormatTime, time1, %time%, LongDate
    FormatTime, time2, %time%, H:mm:ss
    StringReplace, time1, time1, %A_Space%г., , All
    time = %time1%`, %time2%
    return time
}

32

Re: AHK: Обработка времени с сайта

Есть онлайн-конвертеры Epoch converter.
Там и тестируйте.

+ DD

33

Re: AHK: Обработка времени с сайта

Спасибо! Оказалось, что время должно быть 00:45:43, а в коде выводится 21:45:43. Это из-за того, что часовой пояс не учтён?

34

Re: AHK: Обработка времени с сайта

https://ru.wikipedia.org/wiki/Unix-%D0% … 0%BC%D1%8F

35 (изменено: DD, 2018-06-22 20:04:50)

Re: AHK: Обработка времени с сайта

А-а, значит таки UTC. Как можно задействовать код wisgest`а, который к сожалению дал его с сокращением?

; . . .
UTCOffset_sec -= A_NowUTC, sec ; учитываем часовой пояс
DateTime = 19700101 
DateTime += ms_utc // 1000 + UTCOffset_sec, sec
MsgBox %DateTime%

36

Re: AHK: Обработка времени с сайта

Если поймёте как работают эти 2 скрипта, то и модифицировать будет несложно.

37 (изменено: DD, 2018-06-22 21:24:14)

Re: AHK: Обработка времени с сайта

Выше teadrinker писал, что достаточно прибавить 3, так и сделал:

STRING := FormatSeconds(1529617543)
MsgBox % STRING
FormatSeconds(TimeInSec)
{
   DateTime := 19700101   ; первое января 1970 года
   DateTime += TimeInSec, sec
   ;FormatTime, DateTime, %DateTime%, dd.MM.yyyy, h:mm:ss
   FormatTime, DateTime1, %DateTime%, LongDate
   FormatTime, DateTime2, %DateTime%, H:mm:ss
   RegExMatch(DateTime2, "(\d+)(:\d+:\d+)", match)
   h1 := match1 + 3
   StringReplace, h1, h1, 24, 00, All
   h2 := match2
   DateTime2 = %h1%%h2%
   StringReplace, DateTime1, DateTime1, %A_Space%г., , All
   DateTime = %DateTime1%`, %DateTime2%
   return DateTime
}

38

Re: AHK: Обработка времени с сайта

И уменьшили время на 21 час.
Читайте про команды, которые используете в скрипте.
В частности EnvAdd, EnvSub.

39

Re: AHK: Обработка времени с сайта

Почему же уменьшил? Вот как было и стало:

21 июня 2018, 21:45:43
21 июня 2018, 00:45:43

Кажись, так и надо.

40

Re: AHK: Обработка времени с сайта

Это я делал для скрипта мониторинга группы ВКонтакта (замены "минут назад" и т.п.) — там тоже время соответствует.

41 (изменено: Malcev, 2018-06-23 02:54:28)

Re: AHK: Обработка времени с сайта

Что больше 21 июня 21:45 или 21 июня 00:45?

42 (изменено: DD, 2018-06-23 06:32:48)

Re: AHK: Обработка времени с сайта

А, точно. Ну тогда я день увеличу и прочее предусмотрю.

43

Re: AHK: Обработка времени с сайта

wisgest пишет:

UTCOffset_sec -= A_NowUTC, sec ; учитываем часовой пояс

Кстати в этом рассчете ошибка:

loop
{
   UTCOffset_sec := ""
   UTCOffset_sec -= A_NowUTC, sec ; учитываем часовой пояс
   if (UTCOffset_sec != 10800)
      msgbox % UTCOffset_sec
}