基于日期和时间的php旋转器

发布于 2024-12-05 10:45:09 字数 570 浏览 1 评论 0原文

我找到了这个脚本:

<?php
date_default_timezone_set('America/Los_Angeles'); 
$time = date('H'); 
if($time < 12){ 
   echo 'good morning'; 
}else if($time >= 20 and $time < 21){ 
    echo 'good afternoon'; 
}else{ 
    echo 'good evening'; 
} 
?>

并想扩展它以将其设置为特定的日期和时间,例如:

  • if time < 2011-11-30 13:59 echo 'before'
  • else if time >= 2011-11-30 14:00 and < 2012-12-15 20:00 echo 'now'
  • else echo 'after'

作为一名 php 菜鸟,我浏览了整个网络,但我能找到的唯一示例是工作日或小时,但不是上面的组合。有人可以这么好心帮我设置一下吗? 先感谢您

I found this script:

<?php
date_default_timezone_set('America/Los_Angeles'); 
$time = date('H'); 
if($time < 12){ 
   echo 'good morning'; 
}else if($time >= 20 and $time < 21){ 
    echo 'good afternoon'; 
}else{ 
    echo 'good evening'; 
} 
?>

and would like to extend it to set it to specific dates and times, like:

  • if time < 2011-11-30 13:59 echo 'before'
  • else if time >= 2011-11-30 14:00 and < 2012-12-15 20:00 echo 'now'
  • else echo 'after'

being a php noob, I looked all over the web, but the only examples I could find are either week days or hours but not the combination above. Could someone be so kind and help me get this set up?
Thank you in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

公布 2024-12-12 10:45:09

使用 php 的 mktime 函数从您想要的任何日期创建一个 Unix 纪元时间。

mktime(12, 34, 56, 7, 8, 2009);  // 12:34:56 on 7-8-2009 

然后可以将其与返回当前 unix 纪元的 time 进行比较。

$now = time();
$desired = mktime(12, 34, 56, 7, 8, 2009);
if ($now < $desired)
    echo "Not yet!";
else
    echo "It is past time!";

Use php's mktime function to create a unix epoch time from any date you want.

mktime(12, 34, 56, 7, 8, 2009);  // 12:34:56 on 7-8-2009 

This can be then compared against time which returns the current unix epoch.

$now = time();
$desired = mktime(12, 34, 56, 7, 8, 2009);
if ($now < $desired)
    echo "Not yet!";
else
    echo "It is past time!";
满地尘埃落定 2024-12-12 10:45:09
date_default_timezone_set('America/Los_Angeles'); 
$time = new DateTime(); 
if($time < new DateTime('2011-11-30 13:59')){ 
   echo 'before'; 
}else if($time >= new DateTime('2011-10-31 14:00') and $time < new DateTime('2012-12-15 20:00')){ 
    echo 'now'; 
}else{ 
    echo 'after'; 
} 
date_default_timezone_set('America/Los_Angeles'); 
$time = new DateTime(); 
if($time < new DateTime('2011-11-30 13:59')){ 
   echo 'before'; 
}else if($time >= new DateTime('2011-10-31 14:00') and $time < new DateTime('2012-12-15 20:00')){ 
    echo 'now'; 
}else{ 
    echo 'after'; 
} 
未央 2024-12-12 10:45:09

只需更改 date() 函数的输入和 if 条件:

<?php
date_default_timezone_set('America/Los_Angeles'); 
$time = strtotime(date('Y-m-d H:m')); 
if($time < strtotime('2011-11-30 13:59')){ 
   echo 'Before'; 
}else if($time >= strtotime('2011-11-30 14:00') and $time < strtotime('2011-11-30 20:00')){ 
   echo 'Now'; 
}else{ 
   echo 'After'; 
} 
?>

Just change the input of the date() function, and the if conditions:

<?php
date_default_timezone_set('America/Los_Angeles'); 
$time = strtotime(date('Y-m-d H:m')); 
if($time < strtotime('2011-11-30 13:59')){ 
   echo 'Before'; 
}else if($time >= strtotime('2011-11-30 14:00') and $time < strtotime('2011-11-30 20:00')){ 
   echo 'Now'; 
}else{ 
   echo 'After'; 
} 
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文