Heim >Backend-Entwicklung >PHP-Tutorial >php 比较两个日期_PHP教程
比较两个日期
在数据库里已经把YMD分成数字.如Y=2020 M=1 D=1
我现在把它取出来后,显示成 daydiff=date( "$nowyr"."$nowmon"."$nowdt") - date("Ymd");
但是这样相减后是数字运算为负,202011-20090305
我要怎么样才能转换成20200101-20090305
即在数据库中取出的时间与现在的时间作比较,日期相减.如果是当前时间之后的日期就为正,否则为负.
请大侠帮帮忙.
最佳答案[url=http://www.111cn.cn/bbs/space.php?username=doing]链接标记doing[/url]
[url=http://www.111cn.cn/bbs/space.php?uid=97304]链接标记[img]http://www.111cn.cn/server/avatar.php?uid=97304&size=small[/img][/url]$onetime = "2010-01-01 00:00:00";
if((strtotime($onetime)-time())
{
//
}
elseif((strtotime($onetime)-time())>0)
{
//
}
else
{
//
}
D8888D回贴内容-------------------------------------------------------
$onetime = "2010-01-01 00:00:00";
if((strtotime($onetime)-time())
{
//
}
elseif((strtotime($onetime)-time())>0)
{
//
}
else
{
//
}
D8888D回贴内容-------------------------------------------------------
要是我就不那么做,可以考虑转成时间戳[img]http://www.111cn.cn/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;
我是这样写的,测试固定的数字好像没什么问题,但是年月日,数字位数有时候不一样,不知道有没有不成立的时候。哎!还不确定。。。。。。。。