为什么到目前为止这些变化没有生效


Why are these changes to date not taking effect?

我有这段代码,应该会更改输出的日期,但我没有得到任何更改。有人能看到出了什么问题吗?

<?php 
$tempStartDate = "2011-07-04 15:00:00";
$TempDaysFromEvent = "-14";
$newtempStartDate = explode(" ", $tempStartDate);
echo "New Temp Start Date: ".$newtempStartDate[0];
echo "<br>";
list($year, $month, $day) = explode("-", $newtempStartDate[0]);
echo $year." ". $month. " ". $day;
echo "<br>";
$tempStartDate  =  $tempEndDate  =  date("Y-m-d", mktime(0,0,0,$month,($day+$tempDaysFromEvent),$year));
echo "TempStart Date:".$tempStartDate."<br>";
?>

这给了我这个输出:

New Temp Start Date: 2011-07-04
2011 07 04
TempStart Date:2011-07-04

但我希望它能给我:

New Temp Start Date: 2011-07-04
2011 07 04
TempStart Date:2011-06-20

当您定义$TempDaysFromEvent时,您有一个资本,因此将其更改为该

$tempStartDate  =  $tempEndDate  =  date("Y-m-d", mktime(0,0,0,$month,($day+$TempDaysFromEvent),$year));

您应该收到以下通知:

Notice: Undefined variable: tempDaysFromEvent in C:'tmp'test.php on line 12

您的变量实际上是$TempDaysFromEvent。PHP中的变量区分大小写。

中有一个打字错误

$tempDaysFromEvent而不是$TempDaysFromEvent

一个不那么复杂的解决方案:

$tempStartDate = "2011-07-04 15:00:00";
print date('Y-m-d H:i:s', strtotime('-14 days', strtotime($tempStartDate)));