Получение текущей даты

Lua:
Получение текущей даты

Как это сделать:

В Lua получить текущую дату и время очень просто с помощью функции os.date. Посмотрите:

local current_time = os.date("*t")  -- получает таблицу с компонентами даты и времени
print("Год:", current_time.year)
print("Месяц:", current_time.month)
print("День:", current_time.day)

-- Хотите форматированную строку? Легко.
print(os.date("%Y-%m-%d")) -- выводит в формате ГГГГ-ММ-ДД

Пример вывода:

Год: 2023
Месяц: 4
День: 14
2023-04-14

Подробнее

Функция os.date в Lua существует с самых ранних дней и является основным элементом, когда вам нужна дата/время. Она основана на функциях библиотеки time.h языка C, так что она не изобретает велосипед – Lua держит это знакомым.

Альтернативы? Конечно, вы также можете использовать os.time для получения секунд с момента эпохи UNIX и работать с этим, или использовать внешние библиотеки для более широкого функционала, если это необходимо. Но os.date и os.time вполне нормально покрывают большинство случаев.

С точки зрения реализации, os.date("*t") дает вам таблицу с годом, месяцем, днем и многим другим. Форматируйте ее с помощью os.date(), передавая строку формата, например, "%Y-%m-%d" для стандартной даты.

Совет профессионала: Работаете с часовыми поясами? os.date может с этим справиться – используйте префикс !" в вашей строке формата, и Lua будет использовать Всемирное координированное время (UTC) вместо местного времени.

Смотрите также