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()
*/
?>
|