本文目录一览:
- 1、php 日期加减法问题
- 2、PHP 时间加减
- 3、php中两个时间如何相减
- 4、php时间加减怎么写?
php 日期加减法问题
不要将php想的这么笨,当前时间用time(),按你的需求来个最直接的办法。
$time=time();
for($i=1;$i=5;$i++){
$s=getdate($time-$i*24*3600);
$day[$i][mdy]=$s[mday];
$day[$i][mon]=$s[mon];
}
这样你就得到过去5天的月和日了,将-换成+就是未来5天的月和日。
不过,我发现你是不太了解时间戳的定义。
未来五天,就是time()+5*24*3600,
过去五天,就是time()-5*24*3600,
为什么不能用时间戳?
PHP 时间加减
?php
$year = '2010';
$month = '07';
$day = '01';
$hour = '17';
$minute = '30';
// 上面都是你的设定。但是你要注意,数字确实可以省略引号,但是用在日期里不合适。比如【07】不加引号的话,保存到变量里就会变成【7】。会影响后面的时间戳~
$time_1 = strtotime( $year . $month . $day . $hour . $minute );
$time_2 = $_SERVER['REQUEST_TIME']; //现在大家用的环境都是PHP5吧?不支持的话只好换效率低点的time()。
$cle = $time_2 - $time_1; //计算两个时间戳的差
$days = floor( $cle / 86400 );//86400秒 == 1天,不用说也知道吧?
$hours = floor( ( $cle % 86400 / 3600 ) % 24 );
$minutes = floor( ( $cle % 86400 / 60 ) % 60 );
echo '相差 ' . $days . ' 天 ' . $hours . ' 小时 ' . $minutes . '分';
//测试OK,给分吧兄弟~~!
?
php中两个时间如何相减
PHP 中的 strtotime() 函数可以实现
strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
strtotime(time,now)
参数说明
time 规定要解析的时间字符串。
now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
详细说明
成功则返回时间戳,否则返回 FALSE。在 PHP 5.1.0 之前本函数在失败时返回 -1。
例如:
?php
$start_time = '2015-05-01 10:10:10';
$end_time = '2015-06-01 10:10:10';
//下面计算出的是秒,可以转化为天、时、分等
echo strtotime($end_time )-strtotime($start_time);
?
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 常用日期相函数[日期加减,两日期之差,日期转换时间截]
下面这些代码是一些常用的日期处理函数了,可以两个时间的日期加减,两日期之差,日期转换时间截等。
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 天";