• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 вроде разобрался, время от них есть нужно только в локальное переводить.
 
Последнее редактирование:
Сверху Снизу