我试图写一个脚本,将检查当前日期/时间是否超过05/15/2010 at 4PM如何使用PHP的date()函数来执行此检查?
05/15/2010 at 4PM
rpppsulh1#
你可以这样使用DateTime类:
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 constructor的字符串被解析为according to these rules。
w8rqjzmb2#
还有一个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'; }
字符串
owfi6suc3#
检查PHP的strtotime-函数将您设置的日期/时间转换为时间戳:http://php.net/manual/en/function.strtotime.php如果strtotime不能正确处理你的日期/时间格式(“4:00 PM”可能可以,但“at 4PM”不行),你需要使用字符串函数,例如substr来解析/纠正你的格式,并通过另一个函数检索你的时间戳,例如mktime。然后将结果时间戳与当前日期/时间(if ($calulated_timestamp > time()) { /* date in the future */ })进行比较,以查看设置的日期/时间是过去还是未来。我建议阅读关于日期/时间函数的PHP-doc,一旦遇到问题,请带着一些源代码回到这里。
strtotime
substr
mktime
if ($calulated_timestamp > time()) { /* date in the future */ }
ykejflvf4#
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; }
4条答案
按热度按时间rpppsulh1#
你可以这样使用
DateTime
类:字符串
传递给DateTime constructor的字符串被解析为according to these rules。
w8rqjzmb2#
还有一个DateTime类,它实现了一个用于比较运算符的函数。
字符串
owfi6suc3#
检查PHP的
strtotime
-函数将您设置的日期/时间转换为时间戳:http://php.net/manual/en/function.strtotime.php如果
strtotime
不能正确处理你的日期/时间格式(“4:00 PM”可能可以,但“at 4PM”不行),你需要使用字符串函数,例如substr
来解析/纠正你的格式,并通过另一个函数检索你的时间戳,例如mktime
。然后将结果时间戳与当前日期/时间(
if ($calulated_timestamp > time()) { /* date in the future */ }
)进行比较,以查看设置的日期/时间是过去还是未来。我建议阅读关于日期/时间函数的PHP-doc,一旦遇到问题,请带着一些源代码回到这里。
ykejflvf4#
字符串