--[[ Re-implementation of `os.date` from the standard lua library ]] local gettime = require "luatz.gettime".gettime local new_from_timestamp = require "luatz.timetable".new_from_timestamp local get_tz = require "luatz.tzcache".get_tz local function os_date(format_string, timestamp) format_string = format_string or "%c" timestamp = timestamp or gettime() if format_string:sub(1, 1) == "!" then -- UTC format_string = format_string:sub(2) else -- Localtime timestamp = get_tz():localise(timestamp) end local tt = new_from_timestamp(timestamp) if format_string == "*t" then return tt else return tt:strftime(format_string) end end return os_date