2013-01-20 29 views
0

我的問題:當我結合我的jquery datepicker日曆輸入和下拉我放在它旁邊捕獲小時,分鐘和上午/下午我無法得到打印出適當的日期。jquery +下拉日期來存儲日期和時間 - 格式問題

這裏是我的PHP代碼:

echo protect($_POST['truck_arrive'])." - truck arrive<br>"; 
echo protect($_POST['truck_arrive_hours'])." - truck arrive hours<br>"; 
echo protect($_POST['truck_arrive_mins'])." - truck arrive mins<br>"; 
echo protect($_POST['truck_arrive_ampm'])." - truck arrive ampm<br>"; 

$truck_arrive_comb = protect($_POST['truck_arrive']).protect($_POST['truck_arrive_hours']).protect($_POST['truck_arrive_mins']).protect($_POST['truck_arrive_ampm']); 

echo $truck_arrive_comb." - truck arrive combination<br>"; 
echo strtotime($truck_arrive_comb)." - truck arrive combination string to time<br>"; 
echo date("Y-m-d h:i:s",strtotime($truck_arrive_comb))." - truck arrive combination string to time date format<br>"; 

//$truck_arrive = date("Y-m-d h:i:s",strtotime($truck_arrive_comb)); 
$truck_arrive = date("Y-m-d h:i:s",strtotime(protect($_POST['truck_arrive']))); 
echo $truck_arrive." - truck arrive date format<br>"; 

它輸出這樣的:

01/16/2013 - truck arrive 
01 - truck arrive hours 
04 - truck arrive mins 
AM - truck arrive ampm 
01/16/20130104AM - truck arrive combination 
- truck arrive combination string to time 
1969-12-31 07:00:00 - truck arrive combination string to time date format 
2013-01-16 12:00:00 - truck arrive date format 
+0

我們可以看到一個[小提琴](HTTP:/ /www.jsfiddle.net)? – Mooseman

+0

我不確定小提琴是什麼?此代碼在提交之前表單上的數據後調用。我想我對我的日期和時間/分鐘的合併順序做錯了什麼? – sweaty

+0

哦,我現在看到鏈接,但你可以把php代碼放在jfiddle中嗎? – sweaty

回答

0

這是一個簡化你可以用什麼,只要用適當的$_POST代替硬編碼值通貨膨脹:

/* hard coded values for test*/ 
$hours=1; 
$minutes=40; 
$am_pm='am'; 

$hours = $am_pm == 'pm' ? $hours +12 : $hours; 
$dateTime=strtotime('01/16/2013') ;/* returns seconds*/ 

$timeInSeconds= ($minutes * 60) + ($hours*3600); 
/* add time in seconds to date in seconds*/ 
$totalSeconds= $dateTime + $timeInSeconds; 

echo date('Y-m-d H:i:s',$totalSeconds); 

需要,如果需要考慮時區進行修改。

另一種方法是解析時間和日期字符串成相同的格式,上述輸出並傳遞到strtotime()或簡單地匹配輸出date()創建使用字符串

+0

這很有道理。我必須將它轉換爲秒後才能讓我使用strtotime()。我想我的問題是當我只使用jquery datepicker時,我可以將該信息直接粘貼到strtotime()中。謝謝! – sweaty

+0

沒有什麼簡單的日期...很多考慮像時區,夏令時等 – charlietfl

0

的問題是,$truck_arrive_combstrtotime()

無效的格式,請在這裏看到strtotime()