当前位置:编程学习 > php >>

php 比较两个日期




比较两个日期

在数据库里已经把YMD分成数字.如Y=2020 M=1 D=1
我现在把它取出来后,显示成 daydiff=date( "$nowyr"."$nowmon"."$nowdt") - date("Ymd");
但是这样相减后是数字运算为负,202011-20090305
我要怎么样才能转换成20200101-20090305
即在数据库中取出的时间与现在的时间作比较,日期相减.如果是当前时间之后的日期就为正,否则为负.
请大侠帮帮忙.


最佳答案[url=http://www.226511.com/bbs/space.php?username=doing]链接标记doing[/url]
[url=http://www.226511.com/bbs/space.php?uid=97304]链接标记[img]http://www.226511.com/server/avatar.php?uid=97304&size=small[/img][/url]$onetime = "2010-01-01 00:00:00";
if((strtotime($onetime)-time())<0)
{
//
}
elseif((strtotime($onetime)-time())>0)
{
//
}
else
{
//
}



D8888D回贴内容-------------------------------------------------------
$onetime = "2010-01-01 00:00:00";
if((strtotime($onetime)-time())<0)
{
//
}
elseif((strtotime($onetime)-time())>0)
{
//
}
else
{
//
}

D8888D回贴内容-------------------------------------------------------
要是我就不那么做,可以考虑转成时间戳[img]http://www.226511.com/bbs/images/smilies/default/victory.gif[/img]

D8888D回贴内容-------------------------------------------------------
我试过,但是出错,
echo date ("M-d-Y", mktime (0,0,0,$nowdt,$nowmon,$nowyr))-date("Ymd");

D8888D回贴内容-------------------------------------------------------
$nowyr = 2020;

$nowmon = 1;

$nowdt = 1;

echo date( sprintf("%04d%02d%02d", $nowyr, $nowmon, $nowdt)) - date("Ymd");


复制代码

D8888D回贴内容-------------------------------------------------------
时间戳 啊

D8888D回贴内容-------------------------------------------------------
mktime (0,0,0,$nowdt,$nowmon,$nowyr) - time()

D8888D回贴内容-------------------------------------------------------
时间戳

D8888D回贴内容-------------------------------------------------------
存日期的时候顺便存个时间戳吧,日期减日期没意义啊,年月日进位都是不一致的,减出来的值没有意义的

D8888D回贴内容-------------------------------------------------------
$daydiff=(strtotime(date("$nowyr"."-"."$nowmon"."-"."$nowdt")) - strtotime(date("Y-m-d")))/86400;

我是这样写的,测试固定的数字好像没什么问题,但是年月日,数字位数有时候不一样,不知道有没有不成立的时候。哎!还不确定。。。。。。。。


补充:Php教程,常见问题
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,