0Pricing
Lua Academy · Урок

Форматирование дат

Создавайте понятные строки с датами.

«Форматирование дат» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. os.time и os.date
  2. Форматирование дат
  3. Арифметика времени
  4. Измерение длительности
← Назад к Lua Academy