Welcome

首页 / 网页编程 / PHP / 在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");