我需要更改一些与PHP在明天上午10点和明天上午10点PDT按钮文本。
这样做会有效吗?或者有没有一种更简洁的方法来做到这一点?
$now = time();
$edt = new DateTime("2022-03-30 10:00 EDT");
$pdt = new DateTime("2022-03-30 10:00 PDT");
$edtTS = $edt->getTimestamp();
$pdtTS = $pdt->getTimestamp();
if (in_array($eventId, $edtEvents)) { // this just checks if the event is on the east coast
if ($now > $edtTS) {
$btnText = "BUY PRESALE";
} else {
$btnText = $status;
}
}
if (in_array($eventId, $pdtEvents)) { // this just checks if the event is on the west coast
if ($now > $pdtTS) {
$btnText = "BUY PRESALE";
} else {
$btnText = $status;
}
}发布于 2022-04-12 08:58:13
基于时间戳的比较是可行的。DateTime类型的对象是直接可比较的。即使对象有不同的时区,比较也是正确的。示例:
$edt = new DateTime("2022-03-30 10:00 EDT"); //Eastern Daylight Time
$edtAsUTC = new DateTime("2022-03-30 14:00 UTC");
var_dump($edt == $edtAsUTC, $edt < $edtAsUTC, $edt > $edtAsUTC);
//bool(true) bool(false) bool(false)而不是$now = time();现在也可以创建一个DateTime对象并用于比较。
$now = new DateTime('now');
//..
if ($now > $edt) {https://stackoverflow.com/questions/71671106
复制相似问题