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) вместо местного времени.
Смотрите также
- Документация к библиотеке
os
Lua: http://www.lua.org/manual/5.4/manual.html#6.9 - Онлайн-среда Lua для тестирования кода: https://www.lua.org/cgi-bin/demo
- Спецификаторы формата для
os.date
: https://www.lua.org/manual/5.4/manual.html#pdf-os.date