php echo date日期如何加减

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php echo date日期如何加减相关的知识,希望对你有一定的参考价值。

<?php
if($A == '100')
echo date('Y-m-d',strtotime($date-$addtime.'+15 day'));

if($B == '200')
echo date('Y-m-d',strtotime($date-$addtime.'+10 day'));
?>

php日期时间加减问题:

当A=100时,显示:当前时间-$addtime + 15 的结果
当B=200时,显示:当前时间-$addtime + 20 的结果

请教上面的代码要如何写?

另外,
当:5< 当前时间-$addtime + 15 的结果 <10时,echo 紧急
当: 当前时间-$addtime + 15 的结果 <5时,echo 过期
代码应该如何写?
<?php
$date = date('Y-m-d',time());//今天的日期
$cha = (strtotime($date)-strtotime(date('Y-m-d',$addtime)))/(24*3600);//计算 当前日期 和 自定义日期 实际相差的天数
if($A=='100')
echo $cha+15;

if($B=='200')
echo $cha+20;

?>

结果显示15, 20, $cha结果好像变成0了

$cha = (time()-$addtime)/(24*3600);//计算 当前日期 和 自定义日期 实际相差的天数
if($A=='100')
$cha=$cha+15;
echo $cha;

if($B=='200')
$cha=$cha+20;
echo $cha;

?>
参考技术A $addtime是什么格式的?
先标记下,等下附上代码追问

$addtime系统默认,没有定义格式的。
谢谢,数你最快了!

追答

给你代码,可以直接运行

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php

$date = date('Y-m-d',time());//今天的日期
echo $date;
echo '<hr/>';

$addtime = '2014-10-03';//自定义的日期,就算你写成2014-10-03 10:20:33都无妨,下面的程序自动识别为2014-10-03



$A=100;
$B=200;



$cha = (strtotime($date)-strtotime(date('Y-m-d',strtotime($addtime))))/(24*3600);//计算 当前日期 和 自定义日期 实际相差的天数
if($A==100)
echo $cha+15;

echo '<hr />';
if($B  == '200')                                     
echo $cha+10;

echo '<hr/>';

if($cha+15 <5)
echo '过期';
elseif(($cha+15>5) &&($cha+15<10))
echo '紧急';

//等于5的时候,是属于过期还是紧急?
?>

追问

测试了,写不下,请看补充问题。谢谢

追答

请把$addtime是多少发出来,就可以解决了。

需要知道它的格式

虽然不是你自定义的,但只要echo下,我就知道数据类型了。


如果$addtime是10位的数字,时间戳,那这样改下就可以了

$cha = (strtotime($date)-strtotime(date('Y-m-d',$addtime)))/(24*3600);//计算 当前日期 和 自定义日期 实际相差的天数

追问

echo $addtime
结果:
1411205337

追答

我猜到了,你改一下代码就好了,这一行

如果$addtime是10位的数字,时间戳,那这样改下就可以了

$cha = (strtotime($date)-strtotime(date('Y-m-d',$addtime)))/(24*3600);//计算 当前日期 和 自定义日期 实际相差的天数

追问

追答

这个很正常的,因为你的addtime是1411205337,也就是今天的日期17:28:57,所以会变成0
$cha = (今天-今天)/24 就是0除以24,也就是0

本回答被提问者采纳

PHP 日期加减计算方法示例

PHP 标准的日期格式

date("Y-m-d H:i:s");

PHP 简单的日期加减计算

<?php
    date_default_timezone_set(‘PRC‘); //默认时区
    echo "今天:",date("Y-m-d",time()),"
";
    echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"
";
    echo "昨天:",date("Y-m-d",strtotime("-1 day")),"
";
    echo "明天:",date("Y-m-d",strtotime("+1 day")),"
";
    echo "一周后:",date("Y-m-d",strtotime("+1 week")),"
";
    echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "
";
    echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")),"
";
    echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."
";
    echo "一个月前:".date("Y-m-d",strtotime("last month"))."
";
    echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."
";
    echo "十年后:".date("Y-m-d",strtotime("+10 year"))."
";
?>

运行结果:

今天:2017-11-06
今天:2008-06-18
昨天:2017-11-05
明天:2017-11-07
一周后:2017-11-13
一周零两天四小时两秒后:2017-11-15 22:22:42
下个星期四:2017-11-09
上个周一:2017-10-30
一个月前:2017-10-06
一个月后:2017-12-06
十年后:2027-11-06

PHP 进阶的日期加减计算

<?php
    // 默认时区
    date_default_timezone_set(‘PRC‘); 
     
    echo "今天: ", date(‘Y-m-d H:i:s‘), "
";       // 输出当前时间
    echo "明天: ", date(‘Y-m-d H:i:s‘, strtotime(‘+1 day‘)), "
";        // 输出明天时间
     
    //strtotime 可以接受第二个参数,类型timestamp为指定日期
    echo date(‘Y-m-d H:i:s‘, strtotime ("+1 day", strtotime(‘2017-11-11‘))), "
";
     
     
    // 这里+1 day 可以修改参数1为任何想需要的数  
    // day也可以改成year(年)month(月)hour(小时)minute(分)second(秒)
    echo date(‘Y-m-d H:i:s‘, strtotime("+1 day +1 hour +1 minute")), "
";
?>

运行结果:

今天: 2017-11-06 18:58:04
明天: 2017-11-07 18:58:04
2017-11-12 00:00:00
2017-11-07 19:59:04

PHP 高级的计算日期时间差

<?php
    // 默认时区
    date_default_timezone_set(‘PRC‘); 
 
    echo date("Y-m-d H:i:s"), "
";
 
    // 日期天数相加函数
    echo date(‘Y-m-d‘, strtotime(‘+1 day‘, strtotime(‘2016-09-12‘))), "

";
 
    echo strtotime(‘2016-09-12‘), "
";
    echo date("Y-m-d", ‘1473609600‘), "
";
    echo date("Y-m-d", ‘1573609600‘), "
";
 
    // 日期天数相加函数
    $d = "2016-09-12 10:12:20";
    echo date("Y-m-d", strtotime("$d   +1   day")), "

";   
 
    // 把日期转换成时间截
    function date2time($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);
    }
    echo date2time("2016-09-12"), "

";
 
    $date_1="2066-09-12";
    $date_2="2016-09-12";
    $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 "$date_2 -> $date_1 相差: $Days 天", "
";
?>

运行结果:

2017-11-06 19:13:02
2016-09-13
 
1473609600
2016-09-12
2019-11-13
2016-09-13
 
1473609600
 
2066-09-12 -> 2016-09-12 相差: 18262 天

PHP时间应用实例
米扑博客、米扑科技、米扑代理的最下方页脚
https://mimvp.com

技术图片

以上是关于php echo date日期如何加减的主要内容,如果未能解决你的问题,请参考以下文章

shell中日期的使用当前日期的加减

R语言 日期加减

php中日期的加减法运算

如何用js进行日期的加减

Java对日期Date类进行加减运算,年份加减,月份加减

Js日期加减(天数),时间加减,日期运算,可直接调用