日期格式不起作用

时间:2018-08-22 00:27:32

标签: php ajax

我已经使用PHP几个月了,刚刚开始自学ajax。我的第一个项目是通过jQuery将PHP表单中的变量发送到另一个充当操作的PHP。我想找到两个日期和时间之间的差异,并将大量计算的回显响应返回到PHP表单页面。好消息是,ajax可以按预期工作并在表单页面上显示计算结果,但前提是我使用硬编码日期时间($ start)开始计算。如果我尝试使用表单页面中的变量来格式化日期($ start),则ajax不会返回任何内容。如果已经回答了这个问题,请直接把我带到那个地方。

$TravelYear  = $_POST['TravelYear'];  
$TravelMonth = $_POST['TravelMonth'];  
$TravelDate  = $_POST['TravelDate'];  
$TravelHour  = $_POST['TravelHour'];  
$TimeZone   = $_POST['TimeZone'];  
date_default_timezone_set($TimeZone);  

// this does not work  
$start = date('Y-m-d G:i:s',strtotime($TravelYear.'-'.$TravelMonth.'-'.$TravelDate.' '.$TravelHour.":00:00")); 

// this works  
$start = date_create('2015-07-10 14:30:00');

$end = date_create(); // Current time and date  
$diff = date_diff( $start, $end ); // Find the difference

// lots of calculations

1 个答案:

答案 0 :(得分:2)

问题是date_diff期望使用datetime对象而不是日期字符串。

根据文档,date_diff是DateTime::diff()

的别名

使用:

$start = date_create($TravelYear.'-'.$TravelMonth.'-'.$TravelDate.' '.$TravelHour.':00:00');