2012-05-21 163 views
0

我想打印7天的特定日期。我已經嘗試閱讀PHP手冊,並嘗試了幾件事..沒有工作。日期功能

<?php 
function add_date($givendate,$day=0,$mth=0,$yr=0) { 
     $cd = strtotime($givendate); 
     $newdate = date('Y-m-d h:i:s', mktime(date('h',$cd), 
              date('i',$cd), 
              date('s',$cd), 
              date('m',$cd)+$mth, 
              date('d',$cd)+$day, 
              date('Y',$cd)+$yr)); 
     return $newdate; 
} 

?> 

但這並沒有給我任何日期,除了今天的日期。

+1

您是否嘗試過使用http://php.net/manual/en/class.datetime.php?它有一些不錯的方法可以緩解任務... –

+0

看看這個。它可以幫助你。 http://www.php.net/manual/en/datetime.add.php –

+0

@ DanArmstrong不工作..嘗試這一個第一.. –

回答

1

你可以使用DateTime類:

例如:

$today = new DateTime("now"); 

$yesterday = $today->modify('-1 day'); 
$yesterday = get_object_vars($yesterday); 
echo $yesterday['date']."<br>"; 

$twoDaysAgo = $today->modify('-1 day'); 
$twoDaysAgo = get_object_vars($twoDaysAgo); 
echo $twoDaysAgo['date']; 
+0

謝謝..他會幫助 –

+1

注意'$ today-> modify(' - 1 day')'修改實際的對象!所以在這個聲明之後,@ $ today @今天不再是真的了。如果你想防止這些副作用,最好先製作一個克隆。例如。 '$昨天=克隆$今天; $ yesterday-> modify(' - 1 day');' – Bart