回答
简单的一个能够完成任务:
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
}
该解决方案使用了漂亮的PHP5 DateTime
类,并避免了笨重的老strtotime()
功能:
$hoursNow = new DateTime()->format('H');
if($hoursNow < 17) {
....
}
+1好看又简单 – Wh1T3h4Ck5 2012-07-29 21:53:48
这是否考虑到了DST? – hohner 2012-07-29 21:55:51
@Jamie,是的,如果服务器的时区使用DST(或时区设置) – Wh1T3h4Ck5 2012-07-29 21:57:21
总之...
$t = time(); # or any other timestamp
if (date('H', $t) < 17) {
// Do stuff
}
适用于任何一天
注意:请确保您的时区是正确的(检查PHP的配置或调用date功能之前只使用date_default_timezone_se吨功能)
- 1. PHP检查当前时间是否在指定时间之前
- 2. 确定是否多时间之间当前的时间跨度
- 3. 火鸟检查日期是否在当天的下午12点前
- 4. 确定是否有键按下当前
- 5. 确定当前时间是否在一组时间范围内
- 6. 检查一天中的当前时间是否在特定时间之前或之后
- 7. 检查当前时间是午夜/还是Joda时间的第二天?
- 8. 当前时间戳=明天
- 9. 检查时间是否在下午2点或之前的代码PHP
- 10. 我需要检查当前时间是否在指定的时间间隔(晚上9点到明天上午9点)之间,我需要检查当前时间是晚上9点到9点(明天)Ruby on Rails
- 11. 确定是否时间之前或之后特定时间
- 12. 取当前日期时间并设置2个日期时间变量? (上午6点 - 上午5:59)
- 13. 如何检查当前时间是否在特定工作时间之间?
- 14. 检查当前时间是否在2次之间。 JAVA
- 15. PHP检查当前时间是否在两次之间
- 16. 使用JodaTime快速判断当前时间是否在午夜6小时内
- 17. 确定是否CCLayer当前旋转
- 18. 确定当前设备是否
- 19. 如何确定ctrl是否在点击之前按下?
- 20. 检测当前时间是否在两个设置时间之间
- 21. 如何检查当前时间是否在oracle的两个时间戳之间
- 22. 确定当前JSP
- 23. 将当前日期增加5天
- 24. 计算差(当前和下一个天之间)
- 25. 检查当前时间是否在其他时间
- 26. 如何检查当前时间是否在一段时间内?
- 27. UILabel当前时间
- 28. 当前时间戳
- 29. 当前时间PHP
- 30. 检查当前时间是否在不同时区的2次之间
+1,因为它会工作,但我会尽量避免'的strtotime ()'这些天尽可能 - 在大多数情况下,这是不必要的。 – Spudley 2012-07-29 21:45:40