A relatively complete collection of Mysql date and mysql time functions
DATE_FORMAT(date,format)
Format the date value according to the format string. The following modifiers can be used in the format string: %M month name (January...December)
%W week name (Sunday...Saturday)
%D day of the month with English prefix (1st, 2nd, 3rd, etc. )
%Y year, number, 4 digits
%y year, number, 2 digits
%a abbreviated day of the week name (Sun...Sat)
%d Number of days in the month, number (00……31)
%e Number of days in the month, number (0……31)
%m Month, number (01……12)
%c Month, Number (1...12)
%b Abbreviated month name (Jan...Dec)
%j Number of days in a year (001...366)
%H Hour (00...23)
%k hours (0...23)
%h hours (01...12)
%I hours (01...12)
%l hours (1...12)
%i minutes, number (00......59)
%r time, 12 hours (hh:mm:ss [AP]M)
%T time, 24 hours (hh:mm:ss)
%S Seconds (00...59)
%s Seconds (00...59)
%p AM or PM
%w Number of days in a week (0=Sunday...6=Saturday)
%U Week (0...52), where Sunday is the first day of the week
%u Week (0...52), where Monday is the first day of the week
%% A text "%".
All other characters are copied into the result without interpretation.
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
-> 'Saturday October 1997'
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
-> '22:23:00'
mysql> select DATE_FORMAT(' 1997-10-04 22:23:00',
'%D %y %a %d %m %b %j');
-> '4th 97 Sat 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'
In MySQL3.23, % is required before the format modifier character. In earlier versions of MySQL, % was optional.
TIME_FORMAT(time,format)
This is used like the DATE_FORMAT() function above, but the format string can only contain those format modifiers that handle hours, minutes, and seconds.
Other modifiers produce a NULL value or 0.
CURDATE()
CURRENT_DATE
Returns today's date value in 'YYYY-MM-DD' or YYYYMMDD format, depending on whether the function is used in a string or numeric context.
mysql> select CURDATE();
-> '1997-12-15'
mysql> select CURDATE() + 0;
-> 19971215
CURTIME( )
CURRENT_TIME
Returns the current time value in 'HH:MM:SS' or HHMMSS format, depending on whether the function is used in a string or numeric context.
mysql> select CURTIME();
-> '23:50:26'
mysql> select CURTIME() + 0;
-> 235026
NOW( )
SYSDATE()
CURRENT_TIMESTAMP
Returns the current date and time in 'YYYY-MM-DD HH:MM:SS' or YYYYMMDDHHMMSS format, depending on whether the function is in one character Strings are still used in a numeric
context.
mysql> select NOW();
-> '1997-12-15 23:50:26'
mysql> select NOW() + 0;
-> 19971215235026
UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)
If called without arguments, returns a Unix timestamp (the number of seconds since '1970-01-01 00:00:00' GMT). If UNIX_TIMESTAMP() is called with a date parameter, it returns the number of seconds since '1970-01-01 00:00:00' GMT. date can be a DATE string, a DATETIME string, a TIMESTAMP, or a number in local time in YYMMDD or YYYYMMDD format.
mysql> select UNIX_TIMESTAMP();
-> 882226357
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');
-> 875996580
When UNIX_TIMESTAMP is used on a TIMESTAMP column, the function will accept the value directly, without the implicit "string-to-unix-timestamp" transformation http://www.knowsky.com/.
FROM_UNIXTIME(unix_timestamp)
Returns the value represented by the unix_timestamp parameter in 'YYYY-MM-DD HH:MM:SS' or YYYYMMDDHHMMSS format, depending on whether the function is in a string or numeric context be used.
mysql> select FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
mysql> select FROM_UNIXTIME(875996580) + 0;
-&g t; 19971004222300
FROM_UNIXTIME(unix_timestamp,format)
Returns a string representing the Unix time stamp, formatted according to the format string. format can contain the same modifiers as the entries listed by the DATE_FORMAT() function.
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:%s %x');
-> '1997 23rd December 03:43:30 x'
SEC_TO_TIME(seconds)
Returns the seconds parameter, converted into hours, minutes and seconds. The value is formatted in 'HH:MM:SS' or HHMMSS, depending on whether the function is in a string or Used in a numerical context.
mysql> select SEC_TO_TIME(2378);
-> '00:39:38'
mysql> select SEC_TO_TIME(2378) + 0; TIME_TO_SEC(time)
Returns the time parameter, converted into seconds.
mysql> select TIME_TO_SEC('22:23:00');
-> 80580
mysql> select TIME_TO_SEC('00:39:38'); >