0

たとえば、20130312 のように YYYYMMDD の形式で varchar フィールドの mysql データベースに日付を格納しています。

PHP の Web ページで date() 関数を使用して、このデータを適切な形式で表示したいと考えています。どうすればいいのですか。

使用して

date("Y-m-d", strtotime('20130312')) 

動作しません。どんな助けでも!

4

4 に答える 4

3

使用するDATE

SELECT DATE(20130312)

ただし、この形式で返したい場合はYYYY/MM/DD、使用しますDATE_FORMAT()(文字列を返します) 。

SELECT DATE_FORMAT(DATE(20130312), '%Y-%m-%d')

他のソース:

于 2013-03-13T11:26:59.723 に答える
1

これを使って

   <?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))
?>
于 2013-03-13T11:31:55.150 に答える
1

タイムスタンプに変換する場合は、使用します

UNIX_TIMESTAMP(20130312) date_as_timestamp

PHP で処理する前に MySQL から。

date('some format like dd/mm/YYYY', $row['date_as_timestamp'])
于 2013-03-13T11:35:36.720 に答える
1

日付を異なる形式に変換する「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') 
于 2013-03-13T11:29:43.333 に答える