Формат даты в mysql

Функции для работы с датами и временем

Последнее обновление: 26.05.2018

MySQL имеет ряд встроенных функций для работы с датами и временем.

Получение даты и времени

  • Функции NOW(), SYSDATE(), CURRENT_TIMESTAMP() возвращают текущую локальную дату и время на основе системных часов в виде объекта datetime. Все три функции возвращают одинаковый результат

    SELECT NOW(); — 2018-05-25 21:34:55 SELECT SYSDATE(); — 2018-05-25 21:34:55 SELECT CURRENT_TIMESTAMP(); — 2018-05-25 21:32:55

  • Функции CURDATE и CURRENT_DATE возвращают текущую локальную дату в виде объекта date:

    SELECT CURRENT_DATE(); — 2018-05-25 SELECT CURDATE(); — 2018-05-25

  • Функции CURTIME и CURRENT_TIME возвращают текущее время в виде объекта time:

    SELECT CURRENT_TIME(); — 20:47:45 SELECT CURTIME(); — 20:47:45

  • UTC_DATE возвращает текущую локальную дату относительно GMT

    SELECT UTC_DATE(); — 2018-05-25

  • UTC_TIME возвращает текущее локальное время относительно GMT

    SELECT UTC_TIME(); — 17:47:45

Парсинг даты и времени

  • DAYOFMONTH(date) возвращает день месяца в виде числового значения

  • DAYOFWEEK(date) возвращает день недели в виде числового значения

  • DAYOFYEAR(date) возвращает номер дня в году

  • MONTH(date) возвращает месяц даты

  • YEAR(date) возвращает год из даты

  • QUARTER(date) возвращает номер квартала года

  • WEEK(date ) возвращает номер недели года. Необязательный параметр позволяет задать стартовый день недели. Если этот параметр равен 1, то первым днем считается понедельник, иначе воскресенье

  • LAST_DAY(date) возвращает последний день месяца в виде даты

  • DAYNAME(date) возвращает название дня недели

  • MONTHNAME(date) возвращает название текущего месяца

  • HOUR(time) возвращает час времени

  • MINUTE(time) возвращает минуту времени

  • SECOND(time) возвращает секунду времени

Примеры функций:

Функция

Результат

DAYOFMONTH(‘2018-05-25’)

DAYOFWEEK(‘2018-05-25’)

DAYOFYEAR(‘2018-05-25’)

MONTH(‘2018-05-25’)

YEAR(‘2018-05-25’)

QUARTER(‘2018-05-25’)

WEEK(‘2018-05-25’, 1)

LAST_DAY(‘2018-05-25’)

DAYNAME(‘2018-05-25’)

MONTHNAME(‘2018-05-25’)

HOUR(’21:25:54′)

MINUTE(’21:25:54′)

SECOND(’21:25:54′)

Функция EXTRACT

Функция EXTRACT извлекает из даты и времени какой-то определенный компонент. Ее формальный синтаксис:

EXTRACT(unit FROM datetime)

Значение datetime представляет исходную дату и (или) время, а значение unit указывает, какой компонент даты или времени будет извлекаться. Параметр unit может представлять одно из следующих значений:

  • SECOND (секунды)

  • MINUTE (минуты)

  • HOUR (час)

  • DAY (день)

  • MONTH (месяц)

  • YEAR (год)

  • MINUTE_SECOND (минуты и секунды)

  • HOUR_MINUTE (часы и минуты)

  • DAY_HOUR (день и часы)

  • YEAR_MONTH (год и месяц)

  • HOUR_SECOND (часы, минуты и секунды)

  • DAY_MINUTE (день, часы и минуты)

  • DAY_SECOND (день, чаы, минуты и секунды)

Примеры вызова функции:

Функции для манипуляции с датами

Ряд функций позволяют производить операции сложения и вычитания с датами и временем:

  • DATE_ADD(date, INTERVAL expression unit) возвращает объект DATE или DATETIME, который является результатом сложения даты date с определенным временным интервалом. Интервал задается с помощью выражения INTERVAL expression unit, где INTERVAL предоставляет ключевое слово, expression — количество добавляемых к дате единиц, а unit — тип единиц (часы, дни и т.д.) Параметр unit может иметь те же значения, что и в функции EXTRACT, то есть DAY, HOUR и т.д.

  • DATE_SUB(date, INTERVAL expression unit) возвращает объект DATE или DATETIME, который является результатом вычитания из даты date определенного временного интервала

  • DATEDIFF(date1, date2) возвращает разницу в днях между датами date1 и date2

  • TO_DAYS(date) возвращает количество дней с 0-го года

  • TIME_TO_SEC(time) возвращает количество секунд, прошедших с момента полуночи

Примеры применения:

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

  • DATE_FORMAT(date, format) возвращает объект DATE или DATETIME, отформатированный с помощью шаблона format

  • TIME_FORMAT(date, format) возвращает объект TIME или DATETIME, отформатированный с помощью шаблона format

Обе функции в качестве второго параметра принимают строку форматирования или шаблон, который показывает, как оформатировать значение. Этот шаблон может принимать следующие значения:

  • %m: месяц в числовом формате 01..12

  • %с: месяц в числовом формате 1..12

  • %M: название месяца (January…December)

  • %b: аббревиатура месяца (Jan…Dec)

  • %d: день месяца в числовом формате 00..31

  • %e: день месяца в числовом формате 0..31

  • %D: номер дня месяца с суффиксом (1st, 2nd, 3rd…)

  • %y: год в виде двух чисел

  • %Y: год в виде четырех чисел

  • %W: название дня недели (Sunday…Saturday)

  • %a: аббревиатура дня недели (Sun…Sat)

  • %H: час в формате 00..23

  • %k: час в формате 0..23

  • %h: час в формате 01..12

  • %l: час в формате 1..12

  • %i: минуты в формате 00..59

  • %r: время в 12-ти часовом формате (hh:mm:ss AM или PM)

  • %T: время в 24-ти часовом формате (hh:mm:ss)

  • %S: секунды в формате 00..59

  • %p: AM или PM

Примеры применения:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *