Форматът на датата на MySQL е много удобна функция. Той форматира дата, както е посочено в аргумента. Списък с спецификатори на формат, даден по-долу, може да се използва за форматиране на дата. „%“ се изисква преди символите на спецификатора на формата. Ето един cheat sheet за функцията за форматиране на датата на MySQL.
Синтаксис за формат на датата на MySQL
DATE_FORMAT(дата, формат)
дата – низ от дата във формат „ГГГГ-ММ-ДД ЧЧ:ММ:СС“. Това може да бъде колона за дата от таблица, низ, както е показано по-горе, или системна функция като NOW()
формат – низ във формат „%x“. x е азбука за низа за формат.
Модерен лист с формат за дата на MySQL –
Форматиране на низ | Описание |
---|---|
%a | Съкратено име на делничен ден (нед..събота) |
%b | Съкратено име на месеца (януари..дек) |
%ac | Месец, числови (0..12) |
%D | Ден от месеца с английски суфикс (0th, 1st, 2nd, 3rd, …) |
%d | Ден от месеца, цифров (00..31) |
%e | Ден от месеца, цифров (0..31) |
%f | Микросекунди (000000..999999) |
%H | Час (00..23) |
%h | Час (01..12) |
%I | Час (01..12) |
%i | Минути, цифрови (00..59) |
%j | Ден от годината (001..366) |
%k | Час (0..23) |
%l | Час (1..12) |
%M | Име на месеца (януари..декември) |
%m | Месец, цифров (00..12) |
%p | AM или PM |
%r | Време, 12 часа (hh:mm:ss, последвано от AM или PM) |
%S | Секунди (00..59) |
%s | Секунди (00..59) |
%T | Време, 24 часа (чч:мм:сс) |
%U | Седмица (00..53), където неделя е първият ден от седмицата |
%u | Седмица (00..53), където понеделник е първият ден от седмицата |
%V | Седмица (01..53), където неделя е първият ден от седмицата; използва се с %X |
%v | Седмица (01..53), където понеделник е първият ден от седмицата; използва се с %x |
%W | Име на деня от седмицата (неделя..събота) |
%w | Ден от седмицата (0=неделя..6=събота) |
%X | Година за седмицата, в която неделя е първият ден от седмицата, число, четири цифри; използва се с %V |
%x | Година за седмицата, където понеделник е първият ден от седмицата, число, четири цифри; използва се с %v |
%Y | Година, число, четири цифри |
%y | Година, число (две цифри) |
%% | Буквален знак „%“ |
Пример:
#using system function now() SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p'); #using a string SELECT DATE_FORMAT('2011-11-05 11:45:00','%b %d %Y %h:%i %p'); #using a date column CREATE TABLE TEST(DT DATETIME); INSERT INTO TEST(DT) VALUES('2010-10-05 10:45:00'); SELECT DATE_FORMAT(DT,'%b %d %Y %h:%i %p') from TEST;
Резултат:
Dec 04 2013 10:40 PM Nov 05 2013 11:45 PM Oct 05 2010 10:45 PM
Както можете да видите, можете да използвате интервали, запетая или дори тирета във форматен низ. Функцията за формат на датата на MySQL ще ги запази в резултата. Останалата част от низа се заменя с подходящи формати. Ето някои често използвани формати за дата, които можете да използвате.
#using system function now() SELECT DATE_FORMAT(NOW(),'%M %d, %Y'); SELECT DATE_FORMAT(NOW(),'%b %d, %Y'); SELECT DATE_FORMAT(NOW(),'%c-%d-%Y'); SELECT DATE_FORMAT(NOW(),'%c-%d-%y'); SELECT DATE_FORMAT(NOW(),'%d/%c/%Y'); SELECT DATE_FORMAT(NOW(),'%d/%c/%y'); SELECT DATE_FORMAT(NOW(),'%b %d, %Y %h:%i %p'); SELECT DATE_FORMAT(NOW(),'%M %d, %Y %h:%i %p');
Техните резултати