たとえば、20130312 のように YYYYMMDD の形式で varchar フィールドの mysql データベースに日付を格納しています。
PHP の Web ページで date() 関数を使用して、このデータを適切な形式で表示したいと考えています。どうすればいいのですか。
使用して
date("Y-m-d", strtotime('20130312'))
動作しません。どんな助けでも!
使用するDATE
SELECT DATE(20130312)
ただし、この形式で返したい場合はYYYY/MM/DD
、使用しますDATE_FORMAT()
(文字列を返します) 。
SELECT DATE_FORMAT(DATE(20130312), '%Y-%m-%d')
他のソース:
これを使って
<?php
$dbdate = '20130312';
$year = substr($dbdate,'0','4');
$month = substr($dbdate,'4','2');
$date = substr($dbdate,'6','2');
$formatDate = "$year-$month-$date";
echo $date = date('Y-m-d', strtotime($formatDate))
?>
タイムスタンプに変換する場合は、使用します
UNIX_TIMESTAMP(20130312) date_as_timestamp
PHP で処理する前に MySQL から。
date('some format like dd/mm/YYYY', $row['date_as_timestamp'])
日付を異なる形式に変換する「DATE_FORMAT(date,format)」という関数があります。 http://www.w3schools.com/sql/func_date_format.asp
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')