2012-05-21 115 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