Php 奇数日期(“Y-m-d”)结果
关于php日期函数,我有一些奇怪的结果。基本上,我从Mysql数据库中获取一个日期,该数据库采用字符串格式,分为三个元素。例如,这将是2012年9月15日,我最终会比较两个日期,看看它是否已经过期。但问题是,只有某些日期允许代码工作,而有些日期根本不工作,或者如果下面的语句是我的代码,那么任何帮助都会很好Php 奇数日期(“Y-m-d”)结果,php,date,Php,Date,关于php日期函数,我有一些奇怪的结果。基本上,我从Mysql数据库中获取一个日期,该数据库采用字符串格式,分为三个元素。例如,这将是2012年9月15日,我最终会比较两个日期,看看它是否已经过期。但问题是,只有某些日期允许代码工作,而有些日期根本不工作,或者如果下面的语句是我的代码,那么任何帮助都会很好 $today = date("d-m-Y"); $expire = date("d-m-Y",strtotime($this->getData('date_day')."-". $t
$today = date("d-m-Y");
$expire = date("d-m-Y",strtotime($this->getData('date_day')."-".
$this->getData('date_month')."-".$this->getData('date_year'))) ;
if ($expire < $today)
{
echo 'expired';
}
else
{
echo 'Not expired';
}
我确信这很简单,但由于某些原因我无法解决它。您需要比较Unix时间戳
$today = time();
$expire = strtotime($this->getData('date_day')."-".
$this->getData('date_month')."-".$this->getData('date_year')) ;
if ($expire > $today)
{
echo 'expired';
}
else
{
echo 'Not expired';
}
您需要比较Unix时间戳
$today = time();
$expire = strtotime($this->getData('date_day')."-".
$this->getData('date_month')."-".$this->getData('date_year')) ;
if ($expire > $today)
{
echo 'expired';
}
else
{
echo 'Not expired';
}
看起来strotime应该是美国日期格式;您需要交换月份和日期以生成有效日期:
$today = date("d-m-Y");
$expire = date("d-m-Y",strtotime($this->getData('date_month')."-".
$this->getData('date_day')."-".$this->getData('date_year'))) ;
另一方面,请参见Stephen305的答案——这是解决您问题的更好方法。看来strotime应该是美国日期格式;您需要交换月份和日期以生成有效日期:
$today = date("d-m-Y");
$expire = date("d-m-Y",strtotime($this->getData('date_month')."-".
$this->getData('date_day')."-".$this->getData('date_year'))) ;
另一方面,,请参阅Stephen305的答案-这是解决您问题的更好方法。您可以添加一些不起作用的日期的示例吗?我们可以麻烦您提供您提到的具体用例吗?我将冒险猜测,本月13日及以后的任何事情都不起作用吗?例如,在if中呈现的是15-09-2010声明未到期。很明显那天已经过去了,你能再试一次吗,格式为“09-15-2010”?你能添加一些不起作用的日期的例子吗?我们能麻烦你提供你提到的具体用例吗?我想冒险猜测一下,这个月13号以后的任何事情都不起作用吗?一个例子是,15-09-2010在if状态中呈现为未过期。那一天显然已经过去了。你能再试一次吗,格式为“09-15-2010”?很好,给斯蒂芬305打电话,我从没想过要用时间。谢谢。打电话给斯蒂芬很好。我从没想过要利用时间。谢谢你。