在MySQL中格式化日期以返回MonthName,Year

And*_*rew 4 mysql sql datetime

我在表中有行需要按日期排序.很容易,使用date数据类型存储它们,ORDER BY日期等等.

但是,我正在尝试获取这些行,并轻松将日期转换为 MonthName, Year

如果我存储了行的日期2011-11-16,我想提取它(使用PHP)并打印出来:

 November, 2011
Run Code Online (Sandbox Code Playgroud)

Nal*_*526 17

试试这个

SELECT DATE_FORMAT(`date`,'%M %Y') AS showdate FROM table
Run Code Online (Sandbox Code Playgroud)

使用此站点http://www.mysqlformatdate.com/获取所需的(mysql)日期格式


小智 6

您可以使用以下查询获取日期 year 和 monthName 格式。

SELECT DATE_FORMAT("2017-06-15", "%Y %M") as 'Date';
Run Code Online (Sandbox Code Playgroud)

如果您需要其他格式,请应用以下组合。

句法: 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
Run Code Online (Sandbox Code Playgroud)