欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

php 比较两个日期

程序员文章站 2022-06-15 08:58:34
...
比较两个日期

在数据库里已经把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;

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