2013-10-03 103 views
15

可以說我的mysql數據庫中有一個時間戳2013-09-30 01:16:06,可以說這個變量是$ts格式化日期爲人類可讀的格式

我怎樣才能輸出這個來顯示更像September 30th, 2013

+8

哦,拜託... RTFM:['DATE_FORMAT ()'](HTTP://dev.mysq l.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format)。 – BlitZ

+0

「2013-09-30」比「2013年9月30日」更具可讀性。 – ViliusL

回答

33
$timestamp = "2013-09-30 01:16:06"; 
echo date("F jS, Y", strtotime($timestamp)); //September 30th, 2013 

注意使用S獲取當天的英文序號後綴。
既然你已經使用strtotime,如果你需要的當前時間人類可讀的數據你可以在strtotime("now")

相關人士使用關鍵字「現在」爲

+0

偉大的簡單和100%功能片段,謝謝。 –

1

喜歡的東西:

<?php 
$date = '2013-09-30 01:16:06'; 
$convertDate = date('F jS, Y h:i:s', strtotime($date)); 
echo $convertDate; 
?> 
3
echo date("F d Y",strtotime("2013-09-30 01:16:06")) 
1

MySQL查詢

select UNIX_TIMESTAMP(datetime_field) as datetime_field from table; 

PHP

echo date("F d Y", $datetime_field) 
4

我不認爲PHP甚至需要在那裏。檢查MySQL DATE_FORMAT()函數。

例子:

SELECT DATE_FORMAT('2013-09-30 01:16:06', '%M %D, %Y %H:%i:%s') as `readable`; 

結果:

September 30th, 2013 01:16:06 

對於實際使用:

SELECT 
    DATE_FORMAT(`date_column`, '%M %D, %Y %H:%i:%s') as `readable` 
FROM 
    `your_table`; 
+0

@Hanky웃Panky,非常感謝。我的英語仍然需要改進':(' – BlitZ

+0

乾杯,這是沒什麼大的可悲的:) –