2013-09-24 125 views
-3

我有以下的日期時間稱爲「開始時間」字段在MySQL與「1899-12-30 12:17:52」轉換日期時間在MySQL和PHP

我試圖將其轉換爲一個時間在屏幕上爲用戶使用PHP使用

date('h:i:s A',strtotime($row_get_student_times['StartTime'])) 

但無論什麼原因它總是返回下午4:00無論何時。任何線索爲什麼會發生這種情況?

+5

'1899'是老了的strtotime轉換,你需要使用'DateTime' http://php.net/manual/en/class.datetime.php – cmorrissey

回答

0

您需要使用DateTime

$datetime = new DateTime($row_get_student_times['StartTime']); 
echo $datetime->format('h:i:s A'); 
+4

這已經得到解答[here。](http://stackoverflow.com/a/18665288/1438393),我相信問題是完全一樣的。 –

1

這是因爲你試圖展示UINX時期(1970年)之前的日期。 試試這個:

$date = new DateTime($row_get_student_times['StartTime']); 
echo $date->format("h:i:s A"); 
0
<?php 
$dateTimeString = '1899-12-30 12:17:52'; 
$dateTime = DateTime::createFromFormat('Y-m-d H:i:s', $dateTimeString); 
echo $dateTime->format('H:i:s A');