PHP日期间
问题描述:
需要请检查是否给定的日期是在使用PHP两个给定日期之间,这是我写的代码:PHP日期间
$today = date_create('28-Feb-2012');
$fromdate = date_create('20-Feb-2012');
$todate = date_create('22-Feb-2012');
if ($today>=$fromdate && $todat<=$todate)
{
echo 'in range';
}
else
{
echo 'not in range';
}
但这总是返回in range
。找不到问题出在哪里。请帮忙。
答
我知道这是一个有点哈克的解决方案,但我倾向于使用的strtotime()的之类的话,因为它返回一个整数:
$today = time();
$fromdate = strtotime('20-Feb-2012');
$todate = strtotime('22-Feb-2012');
if ($today>=$fromdate && $today<=$todate)
{
echo 'in range';
}
else
{
echo 'not in range';
}
编辑:我假设$todat
只是一个输入到*中,并且在你的代码中你实际上有$today
,但如果不是这可能是你的问题 - 我相信在一些设置中未定义的变量可以被认为是0。
其实$ todate是我的代码中的一个错字:。谢谢你指出。你的代码工作正常,我正在使用它。谢谢。 – Nalaka526 2012-02-19 02:53:00
你可能会考虑改变你在php.ini中的设置来发出警告你使用的是未定义的变量。是的,你必须用变量定义来代码,但是它比偶尔打印一个变量并默认默认为0或false,并且不知道你的代码不工作 – Mala 2012-02-19 03:37:42
FYI :改为'$ fromdate = strtotime('20 -Feb-2012'。'-1 days');'让它选择同一天 – Nalaka526 2012-02-19 04:10:41