我在解决下面的代码时遇到问题基本上我正在做的是检查24小时格式的时间戳变量的值是否在1:00 PM
之后,如果它然后转换它到12小时格式。当我有回报的价值时,它总是说下午6点。有什么问题?
以下是我获取$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>";
}
答案 0 :(得分:3)
您正在比较两个不具有相同格式的字符串。 $ 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>";