不知道为什么,但这个if语句不工作。我哪里做错了?
$timestamp = $order->datetime;
if ($timestamp >= strtotime("-1 hour")) {
echo "PULL FROM DB!";
} else {
echo "PULL FROM API";
}
谢谢
您正在尝试将日期字符串与时间戳进行比较。你在if语句中实际比较的内容如下:
if("2015-10-16 08:21:11" >= 1444987642){
echo "PULL FROM DB!";
} else {
echo "PULL FROM API";
}
这不是你想要的。在进行比较之前,需要将日期字符串转换为时间戳。试试这个:
$dateString = $order->datetime;
$timestamp = strtotime($dateString);
if ($timestamp >= strtotime("-1 hour")) {
echo "PULL FROM DB!";
} else {
echo "PULL FROM API";
}
关键部分是将日期字符串转换为时间戳:
$timestamp = strtotime($dateString);
我试过了
$timestamp = strtotime("now");
if ($timestamp >= strtotime("-1 hour")) {
echo "PULL FROM DB!";
} else {
echo "PULL FROM API";
}
结果:PULL FROM DB!和
$timestamp = strtotime("now");
if ($timestamp >= strtotime("1 hour")) {
echo "PULL FROM DB!";
} else {
echo "PULL FROM API";
}
RESULT: PULL FROM API
请检查传入的值
$timestamp = $order->datetime;