首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过UTC-5检测日并获得可变值。

通过UTC-5检测日并获得可变值。
EN

Stack Overflow用户
提问于 2021-07-09 00:54:28
回答 1查看 32关注 0票数 0

大家好,每个人在JavaScript中都有这个变量

代码语言:javascript
复制
gateco = {
  "thursday": [{
    "open": "12:00",
    "close": "18:49"
  }],
  "friday": [{
    "open": "12:00",
    "close": "18:59"
  }]
};

如何获取UTC-5时间的一天,并根据当天分别访问打开值和结束值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-09 04:04:14

你可以这么做..。

请参见此处的时区列表

代码语言:javascript
复制
const
  dateTimeOption =
    { timeZone : 'Etc/GMT+5'
    , hour12   : false
    , weekday  : 'long'
    , hour     : '2-digit'
    , minute   : '2-digit' 
    }
, gateco =
    { thursday : [ { open: '12:00', close: '18:49' } ]  // why is it an Array ?
    , friday   : [ { open: '12:00', close: '18:59' } ] 
    } 

let isOpenNow  = false
  , [wDay,h,m] = new Intl.DateTimeFormat('en-US', dateTimeOption)
                  .format(new Date())
                  .split(/:| /)
                  .map(s=>Number(s)||s.toLowerCase() )                  

if ( gateco[wDay] )
  {
  let hm = (h *100) +m // simplied for comparing 
    , h_m_Open  = gateco[wDay][0].open
                    .split(':')
                    .reduce((hm,t,i)=>hm + (!i?100:1)*Number(t) ,0)
    , h_m_Close = gateco[wDay][0].close
                    .split(':')
                    .reduce((hm,t,i)=>hm + (!i?100:1)*Number(t) ,0)

  isOpenNow = (h_m_Open <= hm  && hm <= h_m_Close)
  }             
//console.log( wDay,h,m )
console.log( 'isOpenNow = ', isOpenNow)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68310057

复制
相关文章

相似问题

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