Я работаю с существующей базой кода, а существующий код требует даты с конечной точки. Ожидаемое значение - это строка ISO (например, "2020-01-09T07:41:02.6025984-05:00"):
// in my sagas:
export function* handleGetServerTime(): Generator {
try {
const response = (yield call(
axios.get,
"/api/server/time"
)) as AxiosResponse;
// Format the response time string into a Date object
const time = new Date(response.data);
console.info(time);
yield put(ActionCreators.GetServerTimeSuccess.create(time));
} catch (error) {
// ...
}
}
Как видите, код берет строку ISO, создает из нее new Date, а затем отправляет ее экшену и редуктору, который сохраняет ее в хранилище как new Date.
Когда я открываю свои инструменты разработки redux, я снова вижу временную строку ISO: 
Однако приведенный выше оператор console.info печатает то, что мы обычно видим при запуске new Date: Mon Apr 05 2021 11:56:25 GMT-0700 (Pacific Daylight Time). Я получаю то же самое, когда захожу в консоль и проверяю store.getState().somewhere.timeFromServer.
Есть ли у redux devtools какое-то поведение по умолчанию для отображения объекта Date в качестве строки ISO?
Обратите внимание: я вовсе не поклонник этого шаблона программирования - я бы предпочел сохранить необработанную строку ISO, которая возвращается с сервера, и выполнять любые манипуляции с датой в моем внешнем коде. Это вызвало у меня зацикливание все утро, потому что строка ISO f = исходящая от сервера, а та, которая отображается в инструментах разработки, - это не то же самое! Преобразование из строки ISO в new Date и обратно приведет к удалению смещения времени UTC, которое я не хочу терять.
Дата на изображении и дата в вашем вопросе совершенно разные, вы уверены, что это то, что вы получили с сервера, и именно так это отображается в инструментах разработки?
Да, эти даты разные, я просто копировал разные вещи, чтобы показать формат. Ссылка, которую вы разместили на исходный код redux-devtools, отвечает на мой вопрос для меня - они по умолчанию показывают строку ISO. Я полностью согласен с форматом, используемым при сохранении в магазине, думаю, мне придется изменить код. Не стесняйтесь размещать это в ответе, и я могу отметить это как таковое.
Не вызывайте console.info непосредственно на объекте Date. Поведение не определено.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы не должны сохранять значения в состоянии, которое не может быть сериализованный, инструменты разработчика должны каким-то образом отображать объект Date (преобразовывать в текст), поэтому они используют toISOString, но эта строка iso локализована для времени Zulu. Во избежание путаницы лучше сохранить строку и не преобразовывать ее в дату, а преобразовывать в селекторе.
Вы не должны сохранять значения в состоянии, которое не может быть сериализованный, инструменты разработчика должны каким-то образом отображать объект Date (преобразовывать в текст), поэтому они используют toISOString, но эта строка iso локализована для времени Zulu. Во избежание путаницы лучше сохранить строку и не преобразовывать ее в актуальную. Преобразуйте его в селекторе.