Php Jquery+;用于存储日期和时间的下拉日期-格式问题

Php Jquery+;用于存储日期和时间的下拉日期-格式问题,php,jquery,date,drop-down-menu,strtotime,Php,Jquery,Date,Drop Down Menu,Strtotime,我的问题是:当我将Jquery datepicker日历输入和放在旁边的下拉列表结合起来捕获小时、分钟和AM/PM时,我无法获得正确的打印日期 以下是我的php代码: echo protect($_POST['truck_arrive'])." - truck arrive<br>"; echo protect($_POST['truck_arrive_hours'])." - truck arrive hours<br>"; echo protect($_POST['t

我的问题是:当我将Jquery datepicker日历输入和放在旁边的下拉列表结合起来捕获小时、分钟和AM/PM时,我无法获得正确的打印日期

以下是我的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>";

问题在于
$truck\u arrival\u comb
对于
strotime()


请参见此处

这是对您可以使用的内容的简化,只需将硬编码值替换为适当的
$\u 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 );
如果需要考虑时区,则需要修改


另一种方法是将时间和日期字符串解析为与上述输出相同的格式,并将其传递给
strotime()
,或者简单地匹配
date()
使用字符串创建的输出。我们可以看到吗?我不确定小提琴是什么?提交上一个表单上的数据后,将调用此代码。我想我把日期和小时/分钟的组合顺序弄错了?哦,我现在看到了链接,但是你能把php代码放在JFIDLE中吗?JSFIDLE上没有php。但是由于PHP是在提供页面之前处理的,所以您可以在小提琴中使用输出。。。不需要JSFIDLE。这很有意义。我必须先将其转换为秒,然后才能使用strotime()。我想我的问题是,当我使用jquery日期选择器时,我可以将这些信息直接粘贴到strotime()中。非常感谢。日期一点也不简单。。。要考虑时区、日光节约等
/* 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 );