我有以下的日期時間稱爲「開始時間」字段在MySQL與「1899-12-30 12:17:52」轉換日期時間在MySQL和PHP
我試圖將其轉換爲一個時間在屏幕上爲用戶使用PHP使用
date('h:i:s A',strtotime($row_get_student_times['StartTime']))
但無論什麼原因它總是返回下午4:00無論何時。任何線索爲什麼會發生這種情況?
我有以下的日期時間稱爲「開始時間」字段在MySQL與「1899-12-30 12:17:52」轉換日期時間在MySQL和PHP
我試圖將其轉換爲一個時間在屏幕上爲用戶使用PHP使用
date('h:i:s A',strtotime($row_get_student_times['StartTime']))
但無論什麼原因它總是返回下午4:00無論何時。任何線索爲什麼會發生這種情況?
您需要使用DateTime:
$datetime = new DateTime($row_get_student_times['StartTime']);
echo $datetime->format('h:i:s A');
這已經得到解答[here。](http://stackoverflow.com/a/18665288/1438393),我相信問題是完全一樣的。 –
這是因爲你試圖展示UINX時期(1970年)之前的日期。 試試這個:
$date = new DateTime($row_get_student_times['StartTime']);
echo $date->format("h:i:s A");
年
<?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');
'1899'是老了的strtotime轉換,你需要使用'DateTime' http://php.net/manual/en/class.datetime.php – cmorrissey