Skip to main content

Функции для работы с датой и временем

В данном разделе описаны функции, предназначенные для работы с датой и временем: 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())