首页 > 解决方案 > 计算相对于用户位置的不同时区的营业时间

问题描述

我正在构建一个基于位置的应用程序,让用户可以找到附近的餐馆并确定它们是开门还是关门

用户还可以搜索全球各地的餐厅。该应用程序将通知他们找到的餐厅是否相对于用户的时区是开放或关闭的

我将小时数存储为标准日期格式的对象

{
  openTime: Thu Jan 01 1970 09:00:00 GMT-0500 (Eastern Standard Time),
  closeTime: Thu Jan 01 1970 20:00:00 GMT-0500 (Eastern Standard Time)
}

为了确定企业是否开放,我正在运行以下计算

let openTime = moment(hours.open_time).format('HH:mm');
let closeTime = moment(hours.close_time).format('HH:mm');
let currentTime = moment().format('HH:mm');
// output format: Open: 09:00 | Close: 20:00 | Current: 19:30)

let isOpen = currentTime >= openTime && currentTime < closeTime ? true : false;

(对于营业时间超过午夜的餐厅,此检查可能存在缺陷)

我应该如何针对不同的时区执行此计算?我有时刻准备好去,但我还没有弄清楚它的逻辑

任何帮助或指导表示赞赏!

标签: javascriptmomentjs

解决方案


推荐阅读