没人玩,俺闪了
小妖今天不是有事要说么?怎么不见上QQ的? 俺闪~
- 娱乐乐园,
5 $varadjust="ok"; 请问如何写空格中的比较转换与比较语句,谢谢!" name=description>
作者 flyfan 发布于 2003-08-01 分类:php基础编程
我用date("Y-m-d H:i:s");把两个当前的日期时间写入mysql数据库的日期字段中,现在我要调出来对两个日期字段进行比较计算,如果它们之间的天数相隔5天,我就设置另一个变量为真,请问如何写法?
例:
$a=mysql_fetch_array($result1);
$thedate1=$a["datefiled"];
$a=mysql_fetch_array($result2);
$thedate2=$a["datefiled"];
if(.....)>5 $varadjust="ok";
请问如何写空格中的比较转换与比较语句,谢谢!
逛论坛交流:请教如何比较计算日期字段,谢谢!
谢谢楼上的回复,但在上面列示的网页上并没有解决问题的回复!
请各位再帮帮俺 ,谢谢!:blowzy:
if($day1-$day2>5)
echo ok

谢谢楼上的回复,但这是不正确的!
if($day1-$day2>5)
echo ok
如果$day1 $day2是不同的日期时间,相减总会是个0值!
二楼的你试过吗
是的!
不信你看看!
$today=date("Y-m-d H:i:s");
$theday=date("Y-m-d H:i:s",mktime(1,2,3,12,1,2003));
echo $theday-$today;
if(($theday-$today)>3) echo "ok"; else echo "no";
显示为0no
老哥,你用都没用对,怎么就下结论。
function checktime($oldtime)
{
$newtime=mktime(date("0,0,0,m,d,Y"));
list($y,$m,$d)=explode("-",substr($oldtime,0,10));
$out=round(($newtime-mktime(0,0,0,$m,$d,$y))/86400);
return($out);
}
$old="2003-05-12 12:12:14";//在这输入要与现在比较的日期,你看看
echo checktime($old);
?>
用GetUnixTime()这个函数,将时间转换为整型,是以秒为单位,这样不仅date可以比,year and time 都可以比。
$thedate1=GetUnixTime($thedate1);
$thedate2=GetUnixTime($thedate2);
然后用if语句做一下判断就可以了
你那是数据库函数?
是自己写的一函数,用它取得数据库中的unixtime,这样可以避免timezone的问题,现附上。
function GetUnixTime($timestring)
{
if("".$timestring=="")
return time();
if (strstr($timestring,"/"))//Old branch
{
if(intval($timestring)>12) //invalid month, deal with it as timestamp
return intval($timestring);
//end Paul
$mad = explode(" ", $timestring);
$date = explode("/", $mad[0]);
$time = explode(":", $mad[1]);
$ampm = strtoupper($mad[2]);
$month = intval($date[0]);
$day = intval($date[1]);
$year = intval($date[2]);
$hour = intval($time[0]);
$minute = intval($time[1]);
$second = intval($time[2]);
if ($ampm == "AM" && $hour == 12) $hour = 0;
if ($ampm == "PM" && $hour != 12) $hour = $hour + 12;
$ret = mktime($hour,$minute,$second,$month,$day,$year);
return $ret;
}
else if (strstr($timestring,"-"))//MySQL dateTime
{
$mad = explode(" ", $timestring);
$date = explode("-", $mad[0]);
$time = explode(":", $mad[1]);
$year = $date[0];
$month = $date[1];
$day = $date[2];
$hour = $time[0];
$minute = $time[1];
$second = 0;
$ret = mktime($hour,$minute,$second,$month,$day,$year);
return $ret;
}
else if (strlen($timestring) == 14)//MySQL timestamp
{
$year = substr($timestring,0,4);
$month = substr($timestring,4,2);
$day = substr($timestring,6,2);
$hour = substr($timestring,8,2);
$minute = substr($timestring,10,2);
$second = 0;
$ret = mktime($hour,$minute,$second,$month,$day,$year);
return $ret;
}
else
return $timestring;
}
10 条回复
回复