我想在一个循环中编写代码,该循环仅在任何一天下午 5 点之前运行。
什么代码可以做到这一点?
IF (current_time < 5:00pm) {
// Do stuff
}
该解决方案使用了不错的 PHP5DateTime
类,并避免了笨重的旧strtotime()
函数:
$hoursNow = new DateTime()->format('H');
if($hoursNow < 17) {
....
}
完成工作的简单方法:
if (date('H') < 17)
{
// DO SOMETHING
}
请记住,此日期来自服务器。因此,如果客户端位于另一个时区,则可能无法按要求工作。这样做的好处是,用户不能更改他的计算机日期来欺骗网站。
如果您想使用 javascript(其中值将来自用户的计算机)来执行此操作,只需执行以下操作:
var today = new Date();
if (today.getHours() < 17)
{
// DO SOMETHING
}
if(time() < strtotime('today 05:00 pm')) {
// Do stuff
}
简而言之...
$t = time(); # or any other timestamp
if (date('H', $t) < 17) {
// Do stuff
}
适用于任何一天
注意:确保您的时区正确(检查 php 配置或在调用date函数之前只使用date_default_timezone_set函数)