Функции для работы с датой и временем
В данном разделе описаны функции, предназначенные для работы с датой и временем: os.clock(), os,date(), os.difftime(), os.time().
Примеры задач, которые позволяют решать данные функции:
Преобразование DATETIME в POSIX
datetime = {year = 2013, month = 09, day = 13, hour = 21, min = 40, sec = 15}
seconds_since_epoch = os.time(datetime)
print(tostring(seconds_since_epoch))
Преобразование POSIX в DATETIME
seconds_since_epoch = 1379094015
datetime = os.date("!*t",seconds_since_epoch)
print( "year = " .. tostring(datetime.year) .. " " ..
"month = " .. tostring(datetime.month) .. " " ..
"day = " .. tostring(datetime.day) .. " " ..
"hour = " .. tostring(datetime.hour) .. " " ..
"min = " .. tostring(datetime.min) .. " " ..
"sec = " .. tostring(datetime.sec) .. " " ..
"weekday = " .. tostring(datetime.wday) .. " " ..
"day of year = " .. tostring(datetime.yday) .. " " ..
"iddst = " .. tostring(datetime.isdst))
Текущее время в формате POSIX
print(os.time())
Текущее время в формате DATETIME
datetime = os.date("!*t",os.time())
print(tostring(datetime.year) .. " " ..
tostring(datetime.month) .. " " ..
tostring(datetime.day) .. " " ..
tostring(datetime.hour) .. " " ..
tostring(datetime.min) .. " " ..
tostring(datetime.sec) .. " " ..
tostring(datetime.wday) .. " " ..
tostring(datetime.yday) .. " " ..
tostring(datetime.isdst))
Текущий месяц
print(os.date("%B", os.time()))
День недели по дате
print(os.date("%w",os.time({ year=1997, month = 11, day = 10})))
Порядковый номер недели в году по дате
print(os.date("%W",os.time({ year=1997, month = 11, day = 10})))
Вывод даты / времени в различных форматах
print(os.date("%d.%m.%Y"))
print(os.date("%X",os.time()))
print(os.date("Сейчас %H часов %M минут %S секунд",os.time()))
print(os.date())