Answers:
由于PHP> = 5.2.2,因此可以这样使用DateTime
该类:
if (new DateTime() > new DateTime("2010-05-15 16:00:00")) {
# current time is greater than 2010-05-15 16:00:00
# in other words, 2010-05-15 16:00:00 has passed
}
根据这些规则,解析传递给DateTime构造函数的字符串。
注意,也可以使用time
和strtotime
功能。见原始答案。
new DateTime('2010-05-15')
仅仅是一个示例,可以是您先前初始化的任何DateTime对象。
$object
我使用的是DateTime对象,if (new DateTime() > $object) {}
它的工作方式有误。但if (time() > $bject->getTimeStamp()) {}
工作正确。@Salman A
还有DateTime类,它为比较运算符实现一个函数。
// $now = new DateTime();
$dtA = new DateTime('05/14/2010 3:00PM');
$dtB = new DateTime('05/14/2010 4:00PM');
if ( $dtA > $dtB ) {
echo 'dtA > dtB';
}
else {
echo 'dtA <= dtB';
}
检查PHP的strtotime
-function将您设置的日期/时间转换为时间戳:http : //php.net/manual/en/function.strtotime.php
如果strtotime
无法正确处理日期/时间格式(“ 4:00 PM”可能会正常工作,但“下午4点”则无法工作),则需要使用字符串函数,例如substr
,解析/更正格式并通过以下方式获取时间戳另一个功能,例如mktime
。
然后将所得时间戳记与当前日期/时间(if ($calulated_timestamp > time()) { /* date in the future */ }
)进行比较,以查看设置的日期/时间是过去还是将来。
我建议您阅读有关日期/时间功能的PHP文档,并在遇到问题时返回此处并附上一些源代码。
date_default_timezone_set('Asia/Kolkata');
$curDateTime = date("Y-m-d H:i:s");
$myDate = date("Y-m-d H:i:s", strtotime("2018-06-26 16:15:33"));
if($myDate < $curDateTime){
echo "active";exit;
}else{
echo "inactive";exit;
}
$myDate
等于string (0) ""
。