如何获得昨天使用PHP的date?

我想在PHP中使用特定的date格式来获取昨天的date这是格式:

$today = date("dmY"); //15.04.2013 

可能吗? PS:如果昨天将我回到上个月,应该改变月份(m)

你去了

 date('dmY',strtotime("-1 days")); 

如果月份发生变化,这也将起作用

步骤1

我们需要在函数date()中设置格式数据:函数date()返回一个string格式,根据给定的格式string使用给定的整数时间戳或当前时间ifno时间戳给出。 换句话说,时间戳是可选的,缺省为time()的值。

 <?php echo date("F j, Y"); ?> 

结果:2010年3月30日

第2步

对于“昨天”date使用PHP函数mktime():函数mktime()返回与给定的参数对应的Unix时间戳。 此时间戳是一个长整型,包含Unix Epoch(1970年1月1日00:00:00 GMT)与指定时间之间的秒数。 参数可以按从右到左的顺序排列; 根据当地date和时间,任何省略的参数将被设置为当前值。

 <?php echo mktime(0, 0, 0, date("m"), date("d")-1, date("Y")); ?> 

结果:1269820800

第3步

现在合并,看看这个:

 <?php $yesterday = date("Ymd", mktime(0, 0, 0, date("m") , date("d")-1,date("Y"))); echo $yesterday; ?> 

结果:2010年3月29日

同样的操作,可以收到时间小时。

 <?php $yesterday = date("H:i:s",mktime(date("H"), 0, 0, date("m"),date("d"), date("Y"))); echo $yesterday; ?> 

结果:20:00:00

或7天前:

 <?php $week = date("Ymd",mktime(0, 0, 0, date("m"), date("d")-7,date("Y"))); echo $week; ?> 

结果:2010-03-23

你可以这样做

 date("F j, Y", time() - 60 * 60 * 24); 

或通过

 date("F j, Y", strtotime("yesterday")); 

尝试这个

  $tz = new DateTimeZone('Your Time Zone'); $date = new DateTime($today,$tz); $interval = new DateInterval('P1D'); $date->sub($interval); echo $date->format('dmy'); ?> 

尝试这个

 <?php $yesterday = date(“dmY”, time()-86400); echo $yesterday;