0

我在让下面的代码正常工作时遇到问题,基本上我正在做的是检查 24 小时格式的时间戳变量的值是否在1:00 PM之后将其转换为 12 小时格式。当我回显该值时,它总是显示下午 6:00。问题是什么?

这是我获取$timeToday变量的方法

$timeToday = date("H:i A");

这是无法正常工作的代码:

 if ($timeToday>"12:59"){
            $timeConverted = date("h:i A", strtotime($timeToday));
            echo "You clocked out at: " . $timeConverted . "<br>";
        } else {
        echo "You clocked out at: " . $timeToday . "<br>";
        }
4

1 回答 1

3

您正在比较 2 个字符串,它们的格式不同。$timeToday 是上午/下午,而您将其转换为 24 小时制。

此外,无论哪种方式,代码都会打印 AM/PM。如果我理解正确,您不想打印 AM,只打印 PM。

 $format = strtotime($timeToday) > strtotime("12:59") ? "h:i A" : "h:i";
 $timeConverted = date($format, strtotime($timeToday));
 echo "You clocked out at: " . $timeConverted . "<br>";
于 2013-01-16T03:48:08.260 回答