【问题标题】:DateTimePicker converts timezone , JavascriptDateTimePicker 转换时区,Javascript
【发布时间】:2018-01-16 22:13:01
【问题描述】:
import DateTimePicker from 'react-widgets'
import Moment from 'moment'
import momentLocalizer from 'react-widgets-moment';

DateTimePicker 字段包含“2018 年 1 月 16 日星期三 23:53:32”。 (我的时区 GMT+02)

但是当我发送请求时: date = 2018-01-16T21:53:32.919Z

【问题讨论】:

  • Date 对象没有时区 - 它的简单字符串表示使用本地时区,但它仅表示时间的瞬间。 2018-01-16T21:53:32.919Z 和 Wed Jan 16 2018 23:53:32 GMT+0200 是同一时刻,所以不清楚你在问什么......
  • (注意 GMT+0200 和 GMT+00 不同...)
  • 我的意思是我发送 23:53。但收到 21:53
  • 23:53 在 UTC+2 的偏移处与 21:53 UTC 相同。它们是同一时刻。
  • 是的,因为这两个时间戳使用不同的时区,但它们代表的时间点相同。

标签: javascript reactjs timezone


【解决方案1】:

DateTimePicker 根本没有转换时区。它将值保存为 数据对象

原因在于 Axios 库,它为数据对象执行 JSON.stringify()。

JSON.stringify() 尝试调用 toJSON() 方法,结果 Date 被转换为符合 ISO-8601 标准的字符串。

另一方面,如果尝试将日期对象显示为字符串(例如 console.log()),方法 toString() 将被自动调用,代表本地时区的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多