Часовой пояс

Опубликовано в QLua

Манипуляции с часовым поясом.

-- Возвращает смещение часового пояса в секундах
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

Недостаточно прав для комментирования

Архив QLua