快速业务通道

PHP的日期时间运算总结

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-23
ode拆解日期。
$oldtime = strtotime($olddate);
$passtime = time()-$oldtime; //经过的时间戳。
echo ''你在网上泡了''.floor($passtime/(24*60*60)).''天了''.''<br />''; //12天。

#3、去年这个时侯。使用时要考虑闰年:平年365天,闰年366天。
#方法一:用减去全年天数的时间戳来获取。
$yDate=1;
$yDate_Y=date(''Y'',time())-1; //年份-1,即去年
$yDateYMD="$yDate_Y-01-01";
$yYMD=strtotime($yDateYMD); //去年的1月1号时间戳。
$d=date(''L'',$yYMD)?366:365; //是否是闰年
$yYearTime=$d*24*60*60;

$yYear=date(''Y-m-d'',time()-$yYearTime);
echo "去年的今天:$yYear<br />"; //2009-02-23
#方法二:用直接截取当前日期的年份减一,但不严谨,没有考虑到闰年。
#计算60年前的今天。忽略当中经过的闰年。
$yDate_Y=$yDate_Y-59;
$md=explode(''-'',date(''Y-m-d''));
$yYMD="$yDate_Y-{$md[1]}-{$md[2]}";
echo "60年前的今天:$yYMD <br />"; //1950-02-23

#方法三:用strtotime()和GNU日期语法---------推荐!
//3天后; //当前时间为2010-02-23
$d=strtotime(''3 days'');
echo ''3天后''.date(''Y-m-d'',$d)."<br />";
//3天前:
$d=strtotime(''-3 days'');
echo ''3天前''.date(''Y-m-d'',$d)."<br />"; //2010-02-20
//一个月前:
$d=strtotime(''-1 months'');
echo ''一个月前''.date(''Y-m-d'',$d)."<br />"; //2010-01-23

//2个月后:
$d=strtotime(''2 months'');
echo ''二个月后''.date(''Y-m-d'',$d)."<br />"; //2010-04-23

//1年前:
$d=strtotime(''-1 years'');
echo ''1年前''.date(''Y-m-d'',$d)."<br />"; //2009-02-23

//2小时前:
$d=strtotime(''-2 hours'');
echo ''目前:''.date(''Y-m-d H:i:s'',time()).'',2小时前''.date(''Y-m-d H:i:s'',$d)."<br />"; //目前:2010-02-23 13:38:49,2小时前2010-02-23 11:38:49

#DateTime构造函数:object DateTime([string $time [,dateTimeZone $timezone])
$date = new DateTime(''2010-02-23 12:26:36'');
echo $date->format(''Y-m-d H:i:s'')."<br />"; //和date()函数相同。2010-02-23 12:26:36
//重设时间:
//1、重设日期: boolean setDate(int year,int month,int day)
//2、重设时间: boolean setDate(int hour,int minute[,int second])
$date->setDate(2010,2,28);
echo $date->format(''Y-m-d H:i:s'')."<br />"; //2010-02-28 12:26:36
//日期计算,相当于上面的strtotime()
$date->modify("+7 hours");
echo $date->format(''Y-m-d H:i:s'')."<br />"; //2010-02-28 19:26:36
$date->modify("3 days");
echo $date->format(''Y-m-d H:i:s'')."<br />"; //2010-03-03 19:26:36 //从上面被改过的28号开始

/*PHP5在WIN不支持money_format函数?
setlocale(LC_MONETARY,''zh_CN'');
echo money_format("%i",786.56);//?Fatal error: Call to undefined function money_format()
*/
?>
 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号