网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
前天去面试的时候也是这样,不过我当时记不起来了.就记得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');
上一篇:PHP4和PHP5性能测试和对比 测试代码与环境
下一篇:PHP与MySQL开发中页面出现乱码的一种解决方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?