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

yipeiwu_com6年前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');

相关文章

彻底杜绝PHP的session cookie错误

只要你写过PHP代码,相信都遇上过这个大多时候都令人莫明其妙的warning吧..今天我们就来搞定它...............   看了PHP手册,回答如下:   消息“Warnin...

php设计模式之委托模式

委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。委托模式是一项基本技巧,许多其他的模式,如状态模式、策略模...

php 破解防盗链图片函数

复制代码 代码如下:<?php $url=$_GET['url']; $ext=pathinfo($url,PATHINFO_EXTENSION); if($ext!='jpg'...

php 二维数组时间排序实现代码

昨天要排序数组的时候发现了,要按时间排序,但是php并没有内设这个函数,所以在网上找到了这个代码,第一个参数为数组,第二个是要排序的元素,第三个为排序方式, 下面就是php 二维数组排序...

PHP下通过系统信号量加锁方式获取递增序列ID

在网上搜了搜,有两个办法但都不太好:一个是简单的以进程ID+时间戳,或进程ID+随机数来产生近似的唯一ID,虽简单但对于追求“完美”的我不愿这样凑合,再说Apache2以后进程会维持相当...