这似乎是一个基本问题,我不知道之前是否曾被问过:
我在脚本中有这个if
语句:
if (date('H') < $loc_item -> closing) {
基本上它是一个商业脚本。它与商店何时关闭有关。 6点,7点等等。
变量仅使用值1 - 24作为小时。但是,有些业务在下午5:30(17:30),下午6:30(18:30)关闭,
18.5的值是否代表下午6:30? 如果不是,最简单的输入方法是使用日期函数,我可以添加1830
的值,它知道我的意思是下午6:30?
修改:此处没有用户输出。脚本只需知道在一天的特定时间抛出“开关”。
答案 0 :(得分:2)
您可以使用strtotime()
date("Hi", strtotime("18:40"));
答案 1 :(得分:1)
你并没有给我们足够的信息来回答这个问题。
首先,你不妨让你的脚本支持所有时间......因为有些商店可能会在6:45关闭。
我认为您正在寻找的解决方案是简单地对时间戳进行比较。
最简单的方法是使用strtotime.
答案 2 :(得分:1)
如果您希望date
函数返回小时和分钟,则date('H')
不会为您执行此操作。您需要date('Hi')
。返回一个字符串。以下是完整的代码段:
<?php
date_default_timezone_set('America/New_York');
echo "The time is ".date('Hi')."\n";
$closingTime = "12:15";
echo "The store closes at ".$closingTime."\n";
if (strtotime(date('Hi')) < strtotime($closingTime)) echo "it is still open\n";
else echo "the store is closed\n";
?>
示例输出:
The time is 1225
The store closes at 12:15
the store is closed
答案 3 :(得分:0)
我倾向于做类似的事情:
$now = new DateTime();
$closing = new DateTime('19:30');
if ($now < $closing) // not closed
我认为您不必担心商店在上午早些时候关门。