2013-01-20 27 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()