Os.date (Lua)
Перейти к навигации
Перейти к поиску
Содержание
Описание
os.date - возвращает дату и время в виде строки или таблицы. Первым аргументом принимает формат, вторым аргументом принимает время в секундах. Если не передать 2-й аргумент, функция вернет текущие дату и время. Если функцию вызвать без аргументов, то она вернет текущие дату/время в виде 24/06/17 15:13:58.
Синтаксис
Привязка к окну: нет.
Работа со свернутым окном: да.
Все параметры заключаются в скобки и разделяются запятыми.
os.date ([format [, time]])
Где:
format - необязательный параметр. Заключается в кавычки (например: os.date("%X")). Если формат равен "*t", возвращает таблицу:
year (год, четыре цифры) month (месяц, 1 – 12) day (день, 1 – 31) hour (час, 0 – 23) min (минуты, 0 – 59) sec (секунды, 0 – 61) wday (день недели, воскресенью соответствует 1) yday (день года) isdst (флаг дневного времени суток, тип boolean).
Если формат не равен "*t", то функция возвращает дату в виде строки.
Формат может быть задан:
%a - день недели, сокращённо англ. %A - день недели, полностью англ. %b - месяц, сокращённо англ. %B - месяц, полностью англ. %c - дата и время (по-умолчанию) в формате: 24/06/17 15:13:58) %d - день месяца %H - час, в 24-х часовом формате %I - час, в 12-и часовом формате %M - минута %m - месяц %p - время суток "am", или "pm" %S - секунда %w - день недели (0 - 6 соответствует Sunday-Saturday) %x - дата в формате: 24/06/17 %X - время в формате: 15:13:58 %Y - год (4 цифры) %y - год, (2 цифры) %% - символ "%" *t - вернет таблицу !*t - вернет таблицу (по Гринвичу)
time - необязательный параметр. Если не указан функция вернёт текущее время.
Примеры
--lua log ("clear") log ("mode compact") local date_time = os.date() -- присвоить переменной дату и время log (date_time) -- вывести в лог
--lua log ("clear") log ("mode compact") local arr = os.date("*t") log ("Год: " .. arr.year) log ("Месяц: " .. arr.month) log ("День: " .. arr.day) log ("Час: " .. arr.hour) log ("Минуты: " .. arr.min) log ("Секунды: " .. arr.sec) log ("День недели: " .. arr.wday) log ("День года: " .. arr.yday)
--lua log (os.date("%X")) -- вывести в лог текущее время log (os.date("%B")) -- месяц log (os.date("%H")) -- час log (os.date("%H:%M")) -- час и минуты
--lua -- функция возвращает тип данных string, это нужно учитывать при сравнении if os.date("%H") == "12" then -- сравнить как строку log ("Сейчас 12 часов") else log ("Сейчас не 12 часов") end if tonumber(os.date("%H")) == 12 then -- сравнить как число log ("Сейчас 12 часов") else log ("Сейчас не 12 часов") end
--lua -- узнать день недели log(os.date("%A",os.time({ year=2017, month = 06, day = 25})))
--lua log(os.date("%d.%m.%Y")) -- текущая дата
--lua log(os.date("Сейчас %H часов %M минут %S секунд"))