• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

tz module

INTRET

New member
Доброго времени!

Пытаюсь получить локальное время для начала по примеру в документации обозвал zonetst.lua

Код:
tz = require('tz')
tz.setzone('eastern')
sntp.sync(nil, function(now)
  local tm = rtctime.epoch2cal(now + tz.getoffset(now))
  print(string.format("%04d/%02d/%02d %02d:%02d:%02d", tm["year"], tm["mon"], tm["day"], tm["hour"], tm["min"], tm["sec"]))
end)
ответ
Код:
dofile("zonetst.lua");
> tz.lua:33: attempt to index a nil value
2017/07/29 11:49:38
В документации сказано
Код:
Parameters

    timezone this is the timezone string. It must correspond to a file in the file system which is named timezone.zone.
незнал как залить eastern.zone,
назначение кнопки аплоад в есплорере разгаданно :).

после заливки ответ таков
Код:
> dofile('zonetst.lua')
> tz.lua:34: attempt to index global 'struct' (a nil value)
2017/07/29 11:58:31
Это означает что с файлом eastern.zone чтото нетак?
И вобщем как получить локальное время после того как получил УТЦ ?
Можно ли тупо прибавлять нужное число часов часового поясa к tm["hour"] и не париться с tz module?
С RTCTIME и SNTP вроде разобрался, время от них есть нужно только в локальное переводить.
 
Последнее редактирование:
Сверху Снизу