首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据用户不同的时区和运营时间查看门店是开还是关

如何根据用户不同的时区和运营时间查看门店是开还是关
EN

Stack Overflow用户
提问于 2019-01-22 13:06:20
回答 1查看 302关注 0票数 0

如何根据opening timeclosing timetimezone检查商店是开还是关。目前,我有在服务器端用来检查商店是否仍然开放或关闭的代码,但我一直在尝试用javascript或jQuery实现相同的函数,但没有成功。

代码语言:javascript
复制
function OperationHours($open, $close, $timezone = "GMT"){
    $status = 'closed';
    $nowTime = new DateTime("NOW", new DateTimeZone($timezone));    
    $openTime = DateTime::createFromFormat('h:iA', $open, new DateTimeZone($timezone));
    $closeTime = DateTime::createFromFormat('h:iA', $close, new DateTimeZone($timezone));

    // check if the close time is before the opening time       
    if($closeTime <= $openTime){
        $closeTime->add(new DateInterval("P1D"));
    }

    if ($nowTime > $openTime && $nowTime < $closeTime){
        $status = 'open';
    }
    return $status;
}
echo OperationHours("7:00AM", "10:30PM", "Asia/Kuala_Lumpur");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-22 13:50:20

为此,我建议使用moment-timezone

您应该能够这样做:

代码语言:javascript
复制
const isOpen = (openTime, closeTime, timezone) => {
  const now = moment().tz(timezone);
  const storeOpenTime = moment.tz(openTime, "h:mmA", timezone);
  const storeCloseTime = moment.tz(closeTime, "h:mmA", timezone);

  return now.isBetween(storeOpenTime, storeCloseTime);
}

console.log(isOpen("7:00AM", "10:30PM", "Asia/Kuala_Lumpur"))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54301576

复制
相关文章

相似问题

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