Полное руководство по форматированию даты в SQLite: объяснение функции strftime

При работе с данными даты и времени в SQLite функция strftime играет решающую роль в форматировании и управлении датами. В этой статье мы рассмотрим различные методы использования функции strftime для форматирования дат в SQLite. Попутно мы предоставим примеры кода, чтобы продемонстрировать реализацию каждого метода.

Метод 1: базовое форматирование даты

Самое простое и распространенное использование функции strftime — форматирование даты в определенное строковое представление. Строка формата состоит из различных заполнителей, которые представляют разные компоненты даты. Вот пример, в котором текущая дата форматируется в формате «ГГГГ-ММ-ДД»:

SELECT strftime('%Y-%m-%d', 'now');

Вывод: «24 января 2024 г.»

Метод 2. Пользовательские форматы даты

SQLite позволяет использовать широкий спектр пользовательских форматов даты с использованием strftime. Вы можете смешивать и сочетать разные заполнители, чтобы создать желаемый формат. Например, давайте отформатируем текущую дату как «День, Месяц ДД, ГГГГ»:

SELECT strftime('%W, %B %d, %Y', 'now');

Выход: «Понедельник, 24 января 2024 г.»

Метод 3: извлечение отдельных компонентов даты

С помощью strftime вы можете извлечь определенные компоненты из строки даты. Вот несколько примеров:

  • Извлечение года:

    SELECT strftime('%Y', 'now');

    Выход: «2024»

  • Извлечение месяца (числовое представление):

    SELECT strftime('%m', 'now');

    Выход: «01»

  • Извлечение месяца (сокращенное название):

    SELECT strftime('%b', 'now');

    Выход: «Ян»

  • Извлечение дня (числовое представление):

    SELECT strftime('%d', 'now');

    Выход: «24»

Метод 4. Форматирование временных меток

SQLite хранит даты как временные метки, которые представляют собой количество секунд с 1 января 1970 года (эпоха Unix). Вы также можете использовать strftime для форматирования временных меток. Вот пример, в котором временная метка форматируется как полная дата и время в формате «ГГГГ-ММ-ДД ЧЧ:ММ:СС»:

SELECT strftime('%Y-%m-%d %H:%M:%S', 1643059200, 'unixepoch');

Вывод: «24 января 2022 00:00:00»

В этой статье мы рассмотрели различные методы использования функции strftime в SQLite для форматирования дат. Мы рассмотрели базовое форматирование даты, пользовательские форматы даты, извлечение отдельных компонентов даты и форматирование меток времени. Понимание этих методов позволит вам эффективно манипулировать и представлять данные о дате и времени в ваших базах данных SQLite.

Не забудьте обратиться к официальной документации SQLite для получения более подробной информации о доступных параметрах формата strftime и дополнительных функциях для манипулирования датой и временем.