Итак, из моего опыта работы с такими проблемами я имею в виду, что все проблемы с часовыми поясами легко решались внешними библиотеками, такими как momentJs. каждый раз, когда у меня возникали проблемы с датой, JS решал это без проблем.
Имейте в виду, что игра с датами в js не полностью реализована из коробки и может вызвать много проблем. Если вы не хотите добавлять дополнительную библиотеку, вам нужно написать собственную функцию преобразователя, например:
const date = 'Sat, 1 Dec 2018 00:00:00 MSK';
const dateConverted = (date)=> {
return date.replace('MSK', '+0300');
}
const convertedDate = dateConverted(date);
Date.parse(convertedDate)
Но в этом случае вам потребуется расширенная функция dataConverter с другими, не распознаваемыми js часовыми поясами, такими как. Например, GMT + 3 может быть представлено также другими сокращениями, такими как:
- AST - Стандартное время Аравии
- C - Часовой пояс Чарли
- EAT - Восточноафриканское время
- EEST - Восточноевропейское летнее время
- FET - Дальневосточное европейское время
- IDT - летнее время Израиля
- SYOT - Syowa Time
- TRT - время Турции
Нет другого способа реализовать собственную функцию преобразования или внешнюю библиотеку.