php Mysql日付と時間関数セット


収集した比較的にそろったMysql日付とmysql時間関数
DATE_FOREMAT(date,format) 
format文字列に従ってdate値をフォーマットします。下記の修飾子はフォーマット文字列で使用できます。 %M 月の名前(Januar…December) 
%W 名前(Sunday…Saturday) 
%D 英語のプレフィックスがある月の日付(1 st、 2 nd、 3 rd など 
%Y 年である 数字、 4 ビット 
%y 年である 数字、 2 ビット 
%a 略語の日曜日の名前(Sun...Sat) 
%d 月の日数、 数字(00…31) 
%e 月の日数、 数字(0…31) 
%m 月 数字(01…12) 
%c 月 数字(1…12) 
%b 略語の月の名前(Jan…Dec) 
%j 一年間の日数(001~366) 
%H 時間(00~23) 
%k 時間(0~23) 
%h 時間(01~12) 
%I 時間(01~12) 
%l 時間(1~12) 
%i 分で、 数字(00…59) 
%r 時刻は12 時間(hh:mm:ss [AP]M) 
%T 時間「24」 時間(hh:mm:ss) 
%S 秒(00…59) 
%s 秒(00…59) 
%p AMまたはPM 
%w 一週間の日数(0=Sunday) ……6=Saturday ) 
%U 日曜日(0……52)、 ここは日曜日です。 
%u 日曜日(0……52)、 ここは月曜日です。 
% 一つの文字「%」 
すべての他の文字は解釈せずに結果にコピーされます。 

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' 
MySQL 3.23では、フォーマットの修飾文字の前に%が必要です。MySQLより早いバージョンでは、%がオプションです。 
TIME_FOREMAT(time,format) 
これは上のようなDATEですFOREMAT関数は同じですが、format文字列には処理時間、分、秒の書式修正子しか含まれません。 
他の修飾子は、NULL値または0を生成する。 
CURDATE()    
CURRENT_DATE 
「YYYY-M-DD」またはYYYYYMMDD形式で今日の日付値を返します。関数が文字列かそれともデジタルコンテキストかによって使用されます。 

mysql> select CURDATE(); 
-> '1997-12-15' 
mysql> select CURDATE() + 0; 
-> 19971215 
CURTIME() 
  CURRENT_TIME 
「HH:MM:SS」またはHHMMSSフォーマットで現在の時間値を返します。関数が文字列であるか、それとも数字のコンテキストで使用されるかによって異なります。 

mysql> select CURTIME(); 
-> '23:50:26' 
mysql> select CURTIME() + 0; 
-> 235026 
NOW() 
  SYSDATE() 
  CURRENT_TIMESTAMP 
YYYY-M-DDで HH:MM:SS'またはYYYMMDDHMMSSフォーマットは現在の日付と時間を返します。関数が文字列であるか、それとも数字のコンテキストで使用されるかによって異なります。 

mysql> select NOW(); 
-> '1997-12-15 23:50:26' 
mysql> select NOW() + 0; 
-> 19971215235026 
UNIX_TIMESTAMP() 
  UNIX_TIMESTAMP(date) 
パラメータがない場合は、Unixタイムスタンプを返します。 00:00:00'GMTからの秒数)UNIX_ならTIMESTAMP()はdateパラメータで呼び出され、'1970-01-01から戻ります。 00:00:00 GMT開始の秒値。dateは、DATE文字列、DATETIME文字列、TIMESTAMP、またはYYMMDDまたはYYYYYMMDD形式のローカル時間の1つの数字とすることができる。 

mysql> select UNIX_TIMESTAMP(); 
-> 882226357 
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00'); 
-> 875996580 
 UNIXをするTIMESTAMPはTIMESTAMP列に使用されています。関数は直接値を受け入れます。暗黙の「stingt-to-unix-timestamp」変換はありません。 http://www.knowsky.com/。  FROM_UNIXTIME(unix_timestamp)  YYYY-M-DDで HH:MM:SS'またはYYYMMDDHMMSSフォーマットはunix_に戻ります。timestampパラメータが表す値は、関数が文字列またはデジタルコンテキストで使用されるかによって異なります。  

mysql> select FROM_UNIXTIME(875996580); 
-> '1997-10-04 22:23:00' 
mysql> select FROM_UNIXTIME(875996580) + 0; 
-> 19971004222300 
FROM_UNIXTIME(unix_timestamp,format) 
を返します Unix 時間マークの文字列は、format文字列に従って書式設定されます。formatはDATE_と含まれています。FOREMAT関数によってリストされた項目は同じ修飾子です。  

mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(), 
'%Y %D %M %h:%i:%s %x'); 
-> '1997 23rd December 03:43:30 x' 
SEC_TO_TIME(seconds) 
secondsパラメータを返して、時間、分、秒に変換します。値は「HH:MM:SS」またはHMMSSフォーマットで、関数が文字列であるか、それともデジタルコンテキストで使われるかによって決まります。 

mysql> select SEC_TO_TIME(2378); 
-> '00:39:38' 
mysql> select SEC_TO_TIME(2378) + 0; 
-> 3938 
TIME_TO_SEC(time) 
タイムパラメータを返して、秒に変換します。 

mysql> select TIME_TO_SEC('22:23:00'); 
-> 80580 
mysql> select TIME_TO_SEC('00:39:38'); 
-> 2378