php 日期加减计算
最近在开发域名空间管理系统的时候,遇到了 php 日期加减的问题,因为要统计到空间的到期时间,而我要做的是比如空间注册日是 2014年1月1号,到2015年1月1号到期之前就会有通知。
首先看一下关于PHP日期的形式,在PHP中,日期是有两种形式表式的,第一种就是正常的“2014年1月1号”这样的形式,还有一种是时间戳,是一串日期的数字,是需要进行格式化的才能正常显示出来,而格式化的函数则是 date() 了。比如下面的 PHP 日期运算处理函数。
<?php
echo "今天:",date('Y-m-d H:i:s'),"<br>";
echo "明天:",date('Y-m-d H:i:s',strtotime('+1 day'));
?>
上一行输出当前时间,下一行输出明天时间,这里+1 day,可以修改参数1为任何想需要的数 day也可以改成year(年),month(月),hour(小时),minute(分),second(秒)如下代码:
date('Y-m-d H:i:s',strtotime("+1 day +1 hour +1 minute");
可以随便自由组合,以达到任意输出时间的目的,注:该方法之针对1970年以后试用,也就是时间戳的适用范围。
php 常用日期相函数[日期加减,两日期之差,日期转换时间截],上面的代码是使用了 date 处理后的时间运算,下面再来看一些代码,除了使用日期函数外,还使用了explode数组方式的日期运算方式。
echo date('Y-m-d',strtotime('+1 d',strtotime('2009-07-08')));//日期天数相加函数
echo date("Y-m-d",'1246982400');
echo '<br>';
echo date("Y-m-d",'1279123200');
die();
$d = "2009-07-08 10:19:00";
echo date("Y-m-d",strtotime("$d +1 day")); //日期天数相加函数
function dateToTime($d)//把日期转换成时间堆截
{
$year=((int)substr("$d",0,4));//取得年份
$month=((int)substr("$d",5,2));//取得月份
$day=((int)substr("$d",8,2));//取得几号
return mktime(0,0,0,$month,$day,$year);
}
/*
下面函数计算两日期之差
*/
$Date_1="2009-07-08";
echo $Date_1+1;
$Date_2="2009-06-08";
$Date_List_a1=explode("-",$Date_1);
$Date_List_a2=explode("-",$Date_2);
$d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);
$d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);
$Days=round(($d1-$d2)/3600/24);
echo "两日期之前相差有$Days 天";
而我对于PHP日期类型运用得不是很好,则直接使用了第二种方法,把日期保存成 2009-07-08 这样的形式,再使用数组的形式进行加减,这种计算方法比较适合加一年减一年时间的运算。
这是位大神的博客?
不敢当,欢迎你的常来。
来学习了,我也正在学习PHP
呵呵,计算的不错
楼主,能问下你,怎么在网站首页添加个时间显示的那个东东吗?
应该是一个时间的插件。或者是一个纯flash的动画。
还不错喔