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

5年以前  |  阅读数:662 次  |  编程语言: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()-246060);
echo "
";

前天

echo date("Y/m/d h:i:s",time()-22460*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()+606024*7;
print date("m/d/Y H:i:s", $tmp);

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

再加一个:
$time_yes=localtime(time()-246060, true);
$time_b_yes=localtime(time()-22460*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');

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8