2011-06-27 21 views
2

我有這個代碼應該改變輸出的一天,但我沒有得到任何改變。任何人都可以看到什麼是錯的?爲什麼這些更改迄今尚未生效?

<?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 
+0

啊我只是抓住它笨錯字其實,我只是抓住了它: $ TempDaysFromEvent =「-14」; 應該是 $ tempDaysFromEvent =「-14」; – Joel

+0

也許你的問題中有一個錯字,或者可能是問題所在。 PHP是區分大小寫的,你已經定義了$ TempDaysFromEvent,然後當你嘗試使用它時,它是$ tempDaysFromEvent。 – James

回答

2

你有資本,當你定義$TempDaysFromEvent所以改成這樣

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

你有一個錯字有

$tempDaysFromEvent,而不是$TempDaysFromEvent

1

一個更復雜的解決方案:

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

其實 - 我剛剛發現它: $ TempDaysFromEvent =「-14」; 應該是 $ tempDaysFromEvent =「-14」; – Joel

+0

我同意,但這只是較大代碼的一小部分 - 我需要在其他地方使用這些變量。 – Joel

+1

@Joel你可以使用這種方法將日期分解爲組件。例如$ month = date('m',strtotime(' - 14 days',strtotime($ start_date))) – dqhendricks

2

你應該得到這個通知:

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

您的變量實際上是$TempDaysFromEvent。 PHP中的變量區分大小寫。