Lua 5.3 Reference Manual
by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar CelesCopyright © 2015–2018 Lua.org, PUC-Rio. Freely available under the terms of the Lua license.
Operating System Facilities
This library is implemented through table os
os.clock ()
Returns an approximation of the amount in seconds of CPU time used by the program.
Tip: Because the output from os.clock()
is platform-dependent, we recommend using os.date()
instead.
os.date ([format [, time]])
Returns a string or a table containing date and time,
formatted according to the given string format
.
If the time
argument is present,
this is the time to be formatted
(see the os.time
function for a description of this value).
Otherwise, date
formats the current time.
If format
starts with '!
',
then the date is formatted in Coordinated Universal Time.
After this optional character,
if format
is the string "*t
",
then date
returns a table with the following fields:
year
, month
(1–12), day
(1–31),
hour
(0–23), min
(0–59), sec
(0–61),
wday
(weekday, Sunday is 1),
yday
(day of the year),
and isdst
(daylight saving flag, a boolean).
This last field may be absent
if the information is not available.
If format
is not "*t
",
then date
returns the date as a string,
formatted according to the same rules as the ISO C function strftime
.
When called without arguments,
date
returns a reasonable date and time representation that depends on
the host system and on the current locale.
(More specifically, os.date()
is equivalent to os.date("%c")
.)
In non-POSIX systems,
this function may be not thread safe
because of its reliance on C function gmtime
and C function localtime
.
os.difftime (t2, t1)
Returns the difference, in seconds,
from time t1
to time t2
(where the times are values returned by os.time
).
In POSIX, Windows, and some other systems,
this value is exactly t2
-t1
.
os.time ([table])
Returns the current time when called without arguments,
or a time representing the local date and time specified by the given table.
This table must have fields year
, month
, and day
,
and may have fields
hour
(default is 12),
min
(default is 0),
sec
(default is 0),
and isdst
(default is nil).
Other fields are ignored.
For a description of these fields, see the os.date
function.
The values in these fields do not need to be inside their valid ranges.
For instance, if sec
is -10,
it means -10 seconds from the time specified by the other fields;
if hour
is 1000,
it means +1000 hours from the time specified by the other fields.
The returned value is a number, whose meaning depends on your system.
In POSIX, Windows, and some other systems,
this number counts the number
of seconds since some given start time (the "epoch").
In other systems, the meaning is not specified,
and the number returned by time
can be used only as an argument to
os.date
and os.difftime
.