Формат даты в MySQL для возврата MonthName, Year - PullRequest
4 голосов
/ 17 ноября 2011

У меня есть строки в таблице, которые мне нужно упорядочить по дате. Достаточно просто, используйте тип данных date для их хранения, ORDER BY date blah blah.

Однако я пытаюсь получить эти строки и легко преобразовать дату в MonthName, Year

Если бы я сохранил дату строки как 2011-11-16, я бы хотел извлечь ее (используя PHP) и распечатать:

 November, 2011

Ответы [ 7 ]

15 голосов
/ 17 ноября 2011

Попробуйте это

SELECT DATE_FORMAT(`date`,'%M %Y') AS showdate FROM table

Используйте этот сайт http://www.mysqlformatdate.com/, чтобы получить желаемый формат даты (mysql)

4 голосов
/ 17 ноября 2011
SELECT DATE_FORMAT(date_col, '%M, %Y')
FROM   tbl
-- WHERE ??
ORDER  BY date_col;

В руководстве об этом больше известно .

3 голосов
/ 13 октября 2017

Формат даты, года и месяца можно получить с помощью следующего запроса.

SELECT DATE_FORMAT("2017-06-15", "%Y %M") as 'Date';

Если вам нужны другие форматы, примените следующие комбинации.

Синтаксис: DATE_FORMAT(date, format_mask)

Format  Description
%a  Abbreviated weekday name (Sun to Sat)
%b  Abbreviated month name (Jan to Dec)
%c  Numeric month name (0 to 12)
%D  Day of the month as a numeric value, followed by suffix (1st, 2nd, 3rd, ...)
%d  Day of the month as a numeric value (01 to 31)
%e  Day of the month as a numeric value (0 to 31)
%f  Microseconds (000000 to 999999)
%H  Hour (00 to 23)
%h  Hour (00 to 12)
%I  Hour (00 to 12)
%i  Minutes (00 to 59)
%j  Day of the year (001 to 366)
%k  Hour (0 to 23)
%l  Hour (1 to 12)
%M  Month name in full (January to December)
%m  Month name as a numeric value (00 to 12)
%p  AM or PM
%r  Time in 12 hour AM or PM format (hh:mm:ss AM/PM)
%S  Seconds (00 to 59)
%s  Seconds (00 to 59)
%T  Time in 24 hour format (hh:mm:ss)
%U  Week where Sunday is the first day of the week (00 to 53)
%u  Week where Monday is the first day of the week (00 to 53)
%V  Week where Sunday is the first day of the week (01 to 53). Used with %X
%v  Week where Monday is the first day of the week (01 to 53). Used with %X
%W  Weekday name in full (Sunday to Saturday)
%w  Day of the week where Sunday=0 and Saturday=6
%X  Year for the week where Sunday is the first day of the week. Used with %V
%x  Year for the week where Monday is the first day of the week. Used with %V
%Y  Year as a numeric, 4-digit value
%y  Year as a numeric, 2-digit value
1 голос
/ 29 ноября 2013

Попробуйте это в php:

<?=format_date($column_name['date'],"M, Y")?>
0 голосов
/ 27 октября 2016

попробуйте

$sql = "SELECT DATE_FORMAT(`date`,\'%M %Y\') AS showdate FROM `allowances`";
0 голосов
/ 02 декабря 2013

Как только вы получите дату в MySQL, используйте это в php

$date = mysql_result(mysql_query("SELECT date FROM table"),0,0);
echo date("F, Y", strtotime($date));
0 голосов
/ 17 ноября 2011

В SQL вы можете получить

SELECT year(DBDate), month(DBDate) FROM dates ORDER BY DBDate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...