我在表中有行需要按日期排序。很容易,使用date
数据类型来存储它们,ORDER BY
日期等等。
但是,我正在尝试获取这些行,并轻松将日期转换为MonthName, Year
如果我将行的日期存储为2011-11-16
,我会想要提取它(使用PHP)并打印出来:
November, 2011
答案 0 :(得分:15)
试试这个
SELECT DATE_FORMAT(`date`,'%M %Y') AS showdate FROM table
使用此网站http://www.mysqlformatdate.com/获取您想要的(mysql)日期格式
答案 1 :(得分:4)
SELECT DATE_FORMAT(date_col, '%M, %Y')
FROM tbl
-- WHERE ??
ORDER BY date_col;
关于那个manual knows more。
答案 2 :(得分:3)
您可以使用以下查询获取日期年份和月份名称。
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
答案 3 :(得分:1)
在php中试试这个:
<?=format_date($column_name['date'],"M, Y")?>
答案 4 :(得分:0)
在SQL中你可以得到
SELECT year(DBDate), month(DBDate) FROM dates ORDER BY DBDate
答案 5 :(得分:0)
在mysql中获取日期后,请在php
中使用$date = mysql_result(mysql_query("SELECT date FROM table"),0,0);
echo date("F, Y", strtotime($date));
答案 6 :(得分:0)
试试这个
$sql = "SELECT DATE_FORMAT(`date`,\'%M %Y\') AS showdate FROM `allowances`";