【发布时间】:2020-07-16 06:35:07
【问题描述】:
我在 datepicker 中选择了 12:00 Pm 并且我还在控制台记录它....它显示 Thu Jul 09 2020 12:00:00 GMT+0530(印度标准时间),这是正确的时间。 但是当我点击保存时,它会发送错误的时间(2020-07-09T06:30:00.454Z)。 它比用户选择的时间少了 5 个半小时。 它应该发送 (2020-07-09T012:00:00.454Z)----预期行为 我不知道是什么问题以及如何解决这个问题 我的代码
<DatePicker
selected={new Date(value)}
onChange={(e) => setFieldValue(field.name, e)}
className={classes.datePicker}
todayButton="Today"
{...rest}
/>
我需要传递用户选择的完全相同的时间。 我认为这个问题是由于时区或 UTC 等而发生的。所以请帮忙
【问题讨论】:
-
这是正确的行为。理想情况下,日期和时间应存储为 UTC 格式。您可以在显示时使用
toLocale*方法将UTC 转换为用户的时区。 -
@MjZac 显示实际上不是问题,但是在将错误的时间存储在数据库中时,就像用户选择了 12:00 PM 所以它应该存储 12:00 pm 而不是 6:30 AM。
-
@MjZac 我过去只坚持服务器时间
标签: reactjs momentjs react-datepicker