2014-11-04 448 views
1

如何轉換10/25/2014 14:00 PM2014-10-25 14:00:00在PHP?轉換日期時間與上午下午到24小時日期格式

date('Y-m-d H:i:s', strtotime("10/25/2014 14:00 PM")); 

回報

1970-01-01 03:00:00 
+0

'2014年10月25日14:00 PM'是有效的,因爲在'AM/pm'格式只'12 hours'適用 – gvgvgvijayan 2014-11-04 08:42:32

+0

我將如何轉換上述m/d/YH:i格式爲所需的y/m/d H:i:s格式? – neeraj 2014-11-04 08:43:58

+0

是與am/pm有24小時表示的日期嗎? – gvgvgvijayan 2014-11-04 08:45:11

回答

1

我不知道該日期的來源是(它是如何得出這樣),但你可以使用DateTime類這樣的:

$raw_date = '10/25/2014 14:00 PM'; 
// to disregard that PM escape it in the format 
$new_date = DateTime::createFromFormat('m/d/Y H:i \P\M', $raw_date); 
echo $new_date->format('Y-m-d H:i:s'); // 2014-10-25 14:00:00 
+0

如果'$ raw_date = '10/25/2014 10:00 AM';'或'$ raw_date = '10/25/2014 10:00 ''或'$ raw_date = '10/25/2014 14:00 pm';' – gvgvgvijayan 2014-11-04 10:39:18

1
$date = "10/25/2014 14:00 PM"; //Here is the date 24 hours format with am/pm 
$date = substr($date, 0, -2); //Removed the am/pm from date 


echo date('Y-m-d H:i:s', strtotime($date)); //then convert it to mysql date format 

注: 如果你用這個日期列是指更換的數據類型爲int,並保存其中有更舒適,如果一年限於1970年到UNIX時間戳年份2038. 由於原因未使用超過2038 read here

+0

這意味着在php中沒有內置函數來實現這一點。我將不得不應用這個黑客? – neeraj 2014-11-04 08:52:38

+0

不是你的格式不是普遍使用的格式,所以沒有直接功能 – gvgvgvijayan 2014-11-04 08:54:18

1

10/25/2014 14:00 PM您的輸入日期格式不正確,您使用的是12小時格式,因此時間將爲10/25/2014 02:00 PM

相關問題