2013-05-31 35 views
0

查詢的SQL Server(MSSQL)列(Ubuntu的/ PHP 5.2.4),我的日期列,走出來尋找這樣的:轉換SQL服務器(MSSQL)datetime列,以Unix時間在PHP在PHP

5月16日2013 12:00:00:000AM

strtotime不會解析它們。

試過這樣:

preg_match("/^([a-zA-Z]{3}) ([0-9]{1,2}) ([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2}):[0-9]{3}([apmAPM]{2})$/",$time_string,$regs); 
$month = $regs[1]; 
$day = $regs[2]; 
$year = $regs[3]; 
$hour = $regs[4]; 
$minute = $regs[5]; 
$second = $regs[6]; 
$ampm = $regs[7]; 
$converted_time_string = $month." ".$day." ".$year." ".$hour.":".$minute.":".$second.$ampm; 

$actual_time = strtotime($converted_time_string); 

return $actual_time; 

但它有一些日期麻煩,比如:

2013年8月1日12:00:00:000AM

任何更可靠的建議,就如何做這個?目前升級PHP不是一個選項。

回答

3

我建議你使用SELECT ... CONVERT(VARCHAR(19), dateColumn, 120) ...YYYY-MM-DD HH:MM:SS(24小時)格式來選擇日期 - 這保證無損失的轉換與strtotime()

+0

偉大的工作 - 謝謝! – scotru