Сравнить строку даты из одного часового пояса с объектом Date в другом часовом поясе - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть массив объектов, поступающих из API, каждый из которых содержит свойство с именем jpExpiryTime .

    [{   ...
        offer: '',
        jpExpiryTime: 2019-09-26 15:00:00
    },
    {   ...
        offer: '',
        jpExpiryTime: 2019-09-26 15:00:00
    }]

Указанные выше значения даты и времени назначаются из региона Японии.У меня есть портал, доступ к которому осуществляется из Индии, который показывает мне список вышеуказанных данных о предложениях.Я хочу знать, истек ли срок действия вышеуказанного предложения, сравнивая его с текущей датой и временем.Я попробовал следующее:

new Date('2019-09-26 15:00:00') > new Date ()

Но я обнаружил, что new Date('2019-09-26 15:00:00') преобразует данные в IST вместо стандартного времени Японии ( JST ).Может ли кто-нибудь пролить свет на то, как сравнивать строку даты-времени из одного часового пояса с другим объектом даты в другом часовом поясе.

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

Вы используете обычное сравнение даты JS и преобразование.JS выполняется браузером на стороне клиента, и если он открывается в ИНДИИ, он будет конвертироваться в IST

, использовать Момент js, что очень популярно.

Преобразование строки даты с использованием часового пояса, а затем сравнение.Все доступно.

isSame , isBefore , isAfter etc.

0 голосов
/ 24 сентября 2019

Вы можете сделать что-то вроде ниже: Сначала конвертируйте время в часовой пояс "Азия / Токио", а затем сравните.

var japanTime = new Date("2019-09-26 15:00:00").toLocaleString("en-US", {timeZone: "Asia/Tokyo"}); convertedJapanTime = new Date(japanTime); var currentTime=new Date(); var isexpired=currentTime>convertedJapanTime ;

Часовые пояса: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...