Firebase toDate () использует CEST вместо localTime

Я использую метод firebase toDate() для получения объекта Date из моей временной метки:

myTimestamp.toDate()

Это создает объект Date (который мне нужен), но по местному времени (время, которое использует моя операционная система). Как я могу заставить его выдать мне объект Date в CEST / CET?

редактировать: Метка времени исходит от база огня, и я использую их метод toDate().

Кого типа myTimestamp? AFAIK нет встроенного объекта в самом JavaScript, который предоставляет метод toDate. Кроме того, объекты Date всегда имеют местное время - см. Получить дату и время для определенного часового пояса с помощью JavaScript, чтобы узнать, как преобразовать.

Heretic Monkey 05.09.2018 02:16

@ HereticMonkey - Дата объекты всегда в формате UTC, они преобразуются в / из локального при представлении / анализе строк.

RobG 05.09.2018 03:50

Дубликат Преобразование даты в другой часовой пояс в JavaScript?

RobG 05.09.2018 07:00
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
336
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Целочисленное значение, содержащееся в объекте Дата (миллисекунды с эпохи unix), не зависит от часовых поясов. Это один и тот же момент времени для всех людей на планете.

Однако при печати объекта Date вы увидите дату, отображаемую с использованием местного часового пояса. Если вам нужно только это целое число внутри Date, вызовите для него getTime () для использования в другом месте.

Вы можете передать дату (или базовое число) другим библиотекам, которые могут делать с датой то, что вы действительно хотите, включая momentjs с момент-часовой пояс. Например, это может работать с моментом:

moment(your_date).tz('Desired Timezone').format('ha z')

Без библиотеки есть new Date().toLocaleString('de',{timeZone: 'Europe/Berlin', timeZoneName:'short'}), но поддержка Имена часовых поясов IANA довольно нова. ;-)

RobG 05.09.2018 03:57

@RobG почему-то эта строка кода вообще не меняет мой объект даты. Что я делаю не так?

progNewbie 05.09.2018 12:14

@ progNewbie - возможно, хост не поддерживает параметр часовой пояс, см. Таблица совместимости MDN. Кажется, он работает в самых последних версиях Chrome, Firefox и Safari и производит "6.9.2018, 02:48:44 MESZ". Использование en-GB и Chile / EasterIsland дает "05/09/2018, 19:48:44 GMT-5" в Firefox и Safari, но Chrome выдает ошибку диапазона, он не поддерживает это имя часового пояса.

RobG 06.09.2018 02:55

Функции Firebase поддерживают часовой пояс, но, к сожалению, не первый параметр, связанный с локализацией.

user37309 15.08.2019 04:47

Другие вопросы по теме