Часовой пояс

Манипуляции с часовым поясом.
-- Возвращает смещение часового пояса в секундах
function os.offset()
local currenttime = os.time()
local datetime = os.date("!*t",currenttime)
datetime.isdst = true -- Флаг дневного времени суток
return currenttime - os.time(datetime)
end
-- Возвращает часовой пояс в строкой в формате ISO 8601:2000 (+hhmm or -hhmm)
-- Параметр - смещение часового пояса в секундах, возвращаемое функцией offset
function os.offset_str(timezone)
return string.format("%+.2d%.2d", math.modf((timezone or os.offset()) / 3600))
end
Проверяем:
print(os.date("%z",os.time()) .. "\t" .. os.offset())
На моем компьютере результат таков:
Центральноевропейское время (зима) +0100
См. также Работа с временем в Lua
