gpt4 book ai didi

typescript - 在 React Redux 中保存选定的日期而不是 utc 日期

转载 作者:行者123 更新时间:2023-12-04 15:21:54 24 4
gpt4 key购买 nike

我尝试关注 this link并在 this question 的帮助下找到解决方案.

question有我需要的部分信息,但没有为我提供答案。 This几乎得到了我想要的,但是 redux 不允许我传递状态下的输出日期。

我正在使用 redux (typescript v. ^3.8) 编写一个 React 应用程序,并且有一个使用“react-datepicker”npm 包版本的 dateTimePicker 组件:v.2.15。我从选择器中选择了一个值,假设是 07/07/2020,但是当我将它保存在带有 reducer 的状态时,

action.payload 的类型为 Tue Jul 07 2020 00:00:00 GMT+0300(东欧夏令时)

但在状态中我现在有 2020-07-06T21:00:00.000Z

我的理解是正在保存日期的属性是日期类型,但格式“YYYY-MM-DDTHH:mm:ss.SSSZ”是 utc 中的 ISOstring()。

如何在不考虑本地/UTC 日期和时区的情况下仅传递州内选定的值 (07/07/2020)?我的目标是拥有这个 2020-07-07T00:00:00.000Z

在我的 reducer 中,我应该如何操作日期以获得上述结果?我的代码片段是这样的:

export const changeGeneralFormDateReducer = (
state: IState,
action: IAction<Date>
): IState =>
produce(state, (draftState: IState) => {
draftState.generalForm.Date = action.payload;
});

最佳答案

使用这样的东西

draftState.generalForm.Date = new Date(
Date.UTC(
action.payload.getFullYear(),
action.payload.getMonth(),
action.payload.getDate()
)
);

关于typescript - 在 React Redux 中保存选定的日期而不是 utc 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63129406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com