The os namespace provides date, time, and clock functions.
os.date accepts ISO C strftime-style format strings. Prefix the format with ! to use UTC, or use *t (and !*t for UTC) to return a table of date fields.
%Y: full year%y: year without century%m: month from 01 through 12%b and %B: abbreviated and full month names%d and %e: zero-padded and unpadded day of month%H and %I: 24-hour and 12-hour hour%M: minute%S: second%p: AM or PM%A and %a: full and abbreviated weekday names%w: weekday from 0 through 6, with Sunday as 0%U and %W: week of year starting on Sunday or Monday%V: ISO 8601 week of year%j: day of year%Z and %z: time zone name and UTC offset%%: literal percent signos.clock()
Returns a high-resolution elapsed time value in seconds.
Returns:
number — Browser performance timer in seconds.os.date(format?, timestamp?)
Formats a timestamp as a date string or date table, optionally in UTC.
Parameters:
format? (string) — strftime-style format, *t for a table, and optional leading ! for UTC.timestamp? (number) — Unix timestamp; defaults to the current time.Returns:
string|table — Formatted date or date fields.Example:
print(os.date("%Y-%m-%d"))
local utc = os.date("!*t")
os.difftime(t2, t1)
Returns the difference in seconds from timestamp t1 to t2.
Parameters:
t2 (number)t1 (number)Returns:
number — The value t2 - t1 in seconds.os.time(): integer
os.time(dateTable): integer
Returns the current Unix timestamp or one built from a local date table.
Parameters:
dateTable? (table) — Local date fields year, month, day, and optional hour, min, and sec.Returns:
integer — Seconds since the Unix epoch.Example:
local timestamp = os.time({year = 2020, month = 1, day = 1})