本文转自:http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_date-format
DATE_FORMAT(
date
,format
)
Formats the date
value according to the format
string.
The following specifiers may be used in the format
string. As of MySQL 3.23, the “%
” character is required before format specifier characters. In earlier versions of MySQL, “%
” was optional.
%a
Sun
..Sat
)%b
Jan
..Dec
)%c
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
January
..December
)%m
00
..12
)%p
AM
or PM
%r
hh:mm:ss
followed by AM
or PM
)%S
00
..59
)%s
00
..59
)%T
hh:mm:ss
)%U
00
..53
), where Sunday is the first day of the week%u
00
..53
), where Monday is the first day of the week%V
01
..53
), where Sunday is the first day of the week; used with %X
%v
01
..53
), where Monday is the first day of the week; used with %x
%W
Sunday
..Saturday
)%w
0
=Sunday..6
=Saturday)%X
%V
%x
%v
%Y
%y
%%
%
” character%x
x
, for any “x
” not listed aboveThe %v
, %V
, %x
, and %X
format specifiers are available as of MySQL 3.23.8. %f
is available as of MySQL 4.1.1.
Ranges for the month and day specifiers begin with zero due to the fact that MySQL permits the storing of incomplete dates such as '2014-00-00'
(as of MySQL 3.23).
As of MySQL 4.1.21, the language used for day and month names and abbreviations is controlled by the value of the lc_time_names
system variable (Section 9.8, “MySQL Server Locale Support”).
As of MySQL 4.1.23, DATE_FORMAT()
returns a string with a character set and collation given by character_set_connection
and collation_connection
so that it can return month and weekday names containing non-ASCII characters. Before 4.1.23, the return value is a binary string.
mysql>SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y');
-> 'Sunday October 2009' mysql>SELECT DATE_FORMAT('2007-10-04 22:23:00', '%H:%i:%s');
-> '22:23:00' mysql>SELECT DATE_FORMAT('1900-10-04 22:23:00',
->'%D %y %a %d %m %b %j');
-> '4th 00 Thu 04 10 Oct 277' mysql>SELECT DATE_FORMAT('1997-10-04 22:23:00',
->'%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6' mysql>SELECT DATE_FORMAT('1999-01-01', '%X %V');
-> '1998 52' mysql>SELECT DATE_FORMAT('2006-06-00', '%d');
-> '00'