Форматирование дат
Создавайте понятные строки с датами.
«Форматирование дат» — бесплатный урок Lua Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Lua Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Lua Academy содержит 4 уроков всего.
Формирование вывода
Вы уже знаете, что os.date умеет форматировать время. В этом уроке основное внимание уделяется самой строке формата: небольшим кодам %, которые точно определяют вид даты.
Освоив их, вы сможете выводить даты в любом стиле — от 2024-03-09 до Saturday, March 9.
print(os.date("%Y-%m-%d"))Год, месяц, день
Основные коды даты: %Y для года из 4 цифр, %m для месяца из 2 цифр (01-12) и %d для дня из 2 цифр (01-31).
Всё, что не является кодом, например тире здесь, выводится точно так, как написано.
print(os.date("%Y/%m/%d"))
print(os.date("%d-%m-%Y"))Часы, минуты, секунды
Для времени используйте %H для часа в 24-часовом формате (00-23), %M для минут и %S для секунд.
Каждое значение занимает две цифры; при необходимости в начало добавляется ноль, поэтому время всегда выглядит аккуратно.
print(os.date("%H:%M:%S"))12-часовой формат
Предпочитаете формат AM/PM? Используйте %I для часа в 12-часовом формате (01-12) и %p для AM или PM.
Вместе они дают понятное время вроде 03:45 PM, которое многим легче читать.
print(os.date("%I:%M %p"))Названия дней недели
Lua умеет выводить дни недели словами. %A даёт полное название, например Monday, а %a — сокращённую форму, например Mon.
Эти названия зависят от локали вашей системы, поэтому отображаются на языке, установленном на вашем компьютере.
print(os.date("%A"))
print(os.date("%a"))Названия месяцев
С месяцами всё работает так же. %B даёт полное название месяца, например March, а %b — сокращённую форму, например Mar.
Объединяйте названия с числами, чтобы создавать строки даты в стиле заголовка.
print(os.date("%B %d, %Y"))Понятная полная дата
Объединяя коды и обычный текст, можно составить почти любое предложение. Здесь день недели, месяц, день и год объединяются в удобную для чтения строку.
Обратите внимание: запятая и пробелы — это обычные символы между кодами.
print(os.date("%A, %B %d, %Y"))Форматирование сохранённого времени
Форматировать можно не только текущий момент. Передайте сохранённое число времени вторым аргументом, и вы сможете оформить любой момент в том же стиле.
Так журналы показывают, когда произошло каждое событие в прошлом.
local t = os.time({year=2022, month=12, day=25})
print(os.date("%A, %B %d, %Y", t))День года и день недели
Некоторые дополнительные коды удобны для подсчётов. %j даёт номер дня в году (001-366), а %w — номер дня недели, где воскресенье обозначается 0.
Они помогают создавать индикаторы выполнения и логику планирования.
local t = os.time({year=2024, month=2, day=1})
print("Day of year:", os.date("%j", t))
print("Weekday num:", os.date("%w", t))Экранирование процента
Что делать, если нужно вывести обычный знак процента? Напишите %%, и Lua выведет один символ %.
Это помогает избежать путаницы, когда символ процента стоит рядом с кодом формата.
print(os.date("Loaded 100%% on %Y-%m-%d"))Создание имён файлов
Распространённый приём — добавить отметку времени в имя файла. Коды вроде %Y%m%d_%H%M%S создают удобную для сортировки строку без пробелов.
Файлы с такими именами естественным образом сортируются в хронологическом порядке в любой папке.
local name = os.date("backup_%Y%m%d.txt")
print(name)Быстрая проверка
Выберите подходящий код для каждой задачи.
Повторение
Строки формата объединяют коды % с обычным текстом. Основные коды: %Y %m %d для даты, %H %M %S для времени и %A %B для названий.
Используйте %I %p для 12-часового формата, %% для обычного знака процента и передавайте число времени, чтобы форматировать моменты в прошлом. С их помощью можно оформлять даты как угодно.
Часто задаваемые вопросы
Урок «Форматирование дат» бесплатный?
Да — полный текст урока «Форматирование дат» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Lua Academy, подпишись на CoddyKit PRO. Курс Lua Academy содержит 4 уроков всего.
Чему я научусь в уроке «Форматирование дат»?
Создавайте понятные строки с датами. Ты практикуешь Lua Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Lua Academy?
Предыдущий опыт не требуется. Lua Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Форматирование дат»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Lua Academy?
Да. Каждый урок Lua Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- os.time и os.date
- Форматирование дат
- Арифметика времени
- Измерение длительности