JavaScript анализирует и сравнивает время

#javascript #node.js #datetime

Вопрос:

Я хочу проверить, открыт или закрыт магазин в зависимости от текущего времени.

Есть время открытия и закрытия (формат — 09:00:00.000) А также я получаю текущее время (формат — 2021-05-20T22:45:11.000 Z)

итак, я хочу проверить, находится ли текущее время между временем открытия и временем закрытия.

У меня возникли проблемы с форматированием обоих раз в один формат и сравнением.

Вот как я получаю текущее время с часовым поясом.

 let curent_date = new Date().toLocaleString("en-US", {
  timeZone: "Asia/Colombo"
});
let _date = new Date(curent_date);
 

Комментарии:

1. Текущее время-UTC, однако время открытия и закрытия-местное, поэтому у вас возникнут проблемы со смещением часового пояса, если вы также не укажете часовой пояс или смещение, которые будут использоваться для времени.

2. @RobG Привет, я обновил вышеприведенный вопрос. Я уже упоминал, как я получаю текущее время с помощью часового пояса. будет лучше, если вы сможете предложить лучший способ получить это.

3. Этот код проблематичен и может привести к неправильной дате. То, что он делает, генерирует метку времени для Азии/Коломбо, которая может быть или не быть проанализирована как локальная дата (это может привести к недействительной дате) и создает проблемы с переходом на летнее время, которые могут отличаться в зависимости от используемого местоположения (например, Азия/Коломбо) и локальной системы. Что вам нужно, так это смещение или местоположение представителя IANA для times.