5.7 – Operating System Facilities
This library is implemented through table os
.
os.clock ()
Returns an approximation of the amount of CPU time used by the program, in seconds.
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 that optional character, if format
is *t
, then date
returns a table with the following fields: year
(four digits), 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).
If format
is not *t
, then date
returns the date as a string, formatted according to the same rules as the 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 (that is, os.date()
is equivalent to os.date("%c")
).
os.difftime (t2, t1)
Returns the number of seconds from time t1
to time t2
. In Posix, Windows, and some other systems, this value is exactly t2
-t1
.
os.execute (command)
This function is equivalent to the C function system
. It passes command
to be executed by an operating system shell. It returns a status code, which is system-dependent.
os.exit ([code])
Calls the C function exit
, with an optional code
, to terminate the host program. The default value for code
is the success code.
os.getenv (varname)
Returns the value of the process environment variable varname
, or nil if the variable is not defined.
os.remove (filename)
Deletes the file with the given name. If this function fails, it returns nil, plus a string describing the error.
os.rename (oldname, newname)
Renames file named oldname
to newname
. If this function fails, it returns nil, plus a string describing the error.
os.setlocale (locale [, category])
Sets the current locale of the program. locale
is a string specifying a locale; category
is an optional string describing which category to change: "all"
, "collate"
, "ctype"
, "monetary"
, "numeric"
, or "time"
; the default category is "all"
. The function returns the name of the new locale, or nil if the request cannot be honored.
os.time ([table])
Returns the current time when called without arguments, or a time representing the date and time specified by the given table. This table must have fields year
, month
, and day
, and may have fields hour
, min
, sec
, and isdst
(for a description of these fields, see the os.date
function).
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 date
and difftime
.
os.tmpname ()
Returns a string with a file name that can be used for a temporary file. The file must be explicitly opened before its use and removed when no longer needed.
This function is equivalent to the tmpnam
C function, and many people (and even some compilers!) advise against its use, because between the time you call this function and the time you open the file, it is possible for another process to create a file with the same name.