2013-04-20 80 views
-2

如何确定帐户已过期。确定帐户是否已过期PHP

帐户的失效日期是存储在此格式“DD/MM/YYYY”

例如,一个用户拥有的“2012年12月8日” 我怎么能与它相比到期日今天的日期和使用PHP找出其过期帐户?

我试图

$expiry = strtotime("12/8/2012"); 
$now   = new DateTime(); 
echo ($now < $expiry ? 'active' : 'expired'); 

它显示我比较快的错误的位置

Object of class DateTime could not be converted to int 
+3

为什么不存储在到期日*为datetime *? (我假设它在数据库中?)应尽可能避免字符串转换。 – 2013-04-20 08:25:02

回答

2

宥可以使用date功能和strtotime功能

$today = date('Y-m-d H:i:s'); 
$expiry = date('Y-m-d H:i:s', strtotime("12/8/2012")); 

if($today >= $expiry) 
{ 
    echo 'Account expired'; 
} 
else 
{ 
    echo 'Account still valid.'; 
} 

这将输出

Account expired 
+0

感谢您的帮助,也确实为将来查看此内容的用户更改过期期限,以便他们不会因未定义的变量 – Ravensmith450 2013-04-20 08:53:08

+0

而发生错误!你是欢迎队友 – Fabio 2013-04-20 08:55:03

+0

我有一个问题,行$'expiry = date('Ymd H:i:s',strtotime(“12/8/2012”));'将日期改为12月8日而不是8月8日(我使用dd/mm/yyyy格式) – Ravensmith450 2013-04-20 08:56:01

0

使用时间()而不是DateTime对象。

从长远来看,您可能希望将日期格式转换为时间戳以便于操作。

相关问题