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) вместо местного времени.
Смотрите также
- Документация к библиотеке
osLua: 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