首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于数据EDT和PDT的动态文本

基于数据EDT和PDT的动态文本
EN

Stack Overflow用户
提问于 2022-03-30 03:17:45
回答 1查看 60关注 0票数 1

我需要更改一些与PHP在明天上午10点和明天上午10点PDT按钮文本。

这样做会有效吗?或者有没有一种更简洁的方法来做到这一点?

代码语言:javascript
复制
$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;
  }
}
EN

回答 1

Stack Overflow用户

发布于 2022-04-12 08:58:13

基于时间戳的比较是可行的。DateTime类型的对象是直接可比较的。即使对象有不同的时区,比较也是正确的。示例:

代码语言:javascript
复制
$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)

https://3v4l.org/Zh0je上试一试

而不是$now = time();现在也可以创建一个DateTime对象并用于比较。

代码语言:javascript
复制
$now = new DateTime('now');
//..
if ($now > $edt) {
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71671106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档