在PHP里得到前天和昨天的日期的代码

  前天去面试的时候也是这样,不过我当时记不起来了.就记得MYSQL里面的date_sub(now(),'interval 1 day');date('Y/m/d h:i:s',mktime(date('h'), date('i'), date('s'), date('m')  , date('d')+1, date('Y')));

  --------------------------------------------------------------------------------

  先得到今天的UNIXTIME

  然后减去一天或两天的秒数

  把减后的UNIXTIME格式化成日期。

  --------------------------------------------------------------------------------

  CODE:[Copy to clipboard]<?php

  date_default_timezone_set('Asia/Shanghai');

  #昨天

  echo date("Y/m/d h:i:s",time()-24*60*60);

  echo "<br>";

  #前天

  echo date("Y/m/d h:i:s",time()-2*24*60*60);

  ?>

  --------------------------------------------------------------------------------

  up

  --------------------------------------------------------------------------------

  方法有很多种啊, 我也介绍一种吧:

  date("Y/m/d H:i:s", strtotime("1 days ago"));

  date("Y/m/d H:i:s", strtotime("2 days ago"));

  --------------------------------------------------------------------------------

  date("Y/m/d H:i:s",mktime(0,0,0,date("m"),date("d")-1,date("Y")));

  --------------------------------------------------------------------------------

  以前算时间总是很烦人,呵呵,学了了下,下面是下个星期现在的时间。

  date_default_timezone_set('Asia/Shanghai');

  $tmp = time()+60*60*24*7;

  print date("m/d/Y H:i:s", $tmp);

  --------------------------------------------------------------------------------

  再加一个:

  $time_yes=localtime(time()-24*60*60, true);

  $time_b_yes=localtime(time()-2*24*60*60, true);

  $yesterday=$time_yes['tm_mday'];

  $the_day_before_yes=$time_b_yes['tm_mday'];

  --------------------------------------------------------------------------------

  time()-86400  昨天的

  --------------------------------------------------------------------------------

  高手如云那

  --------------------------------------------------------------------------------

  QUOTE:

  原帖由 hutule110 于 2007-3-22 09:51 发表

  date("Y/m/d H:i:s",mktime(0,0,0,date("m"),date("d")-1,date("Y")));

  这个好啊!

  --------------------------------------------------------------------------------

  <?

  //昨天

  print date('Y-m-d' , strtotime('-1 day'));

  //上星期

  print date('Y-m-d' , strtotime('-1 week'));

  //上个月

  print date('Y-m-d' , strtotime('-1 month'));

  //去年

  print date('Y-m-d' , strtotime('-1 year'));

  ?>

  --------------------------------------------------------------------------------

  QUOTE:

  原帖由 hutule110 于 2007-3-22 09:51 发表

  date("Y/m/d H:i:s",mktime(0,0,0,date("m"),date("d")-1,date("Y")));

  调用函数次数 多了些

  --------------------------------------------------------------------------------

  strtotime得到一个时间戳, 然后你自己格式化.

  strtotime('yesterday');

  strtotime('-2 day');