【发布时间】:2018-04-02 20:53:51
【问题描述】:
我有一个使用 Moment.js/Timezones 解析一些日期的 React 应用程序。我从 API 获取数据,许多日期返回正确并被解析,但有一些不是。例如,此日期:2018-04-03T02:10:00Z 正确解析,而此日期不正确:2018-04-03T01:40:00Z。我看不出有什么理由应该是这种情况。
我正在使用 moment.timezone 来猜测用户的时区:
this.state = {
userZone: moment.tz.guess()
}
然后映射我的 API 响应并输出日期(或游戏状态,如果正在进行中)。
{this.props.status === 'Scheduled' ? moment(this.props.gameDate, 'YYYY-MM-DDTHH:MM00Z').tz(this.state.userZone).format('h:MM A z') : this.props.status}
我很困惑为什么这种情况只发生在几个约会中,实际上我已经断断续续地旋转了 4 个月......有什么想法吗?谢谢!
【问题讨论】:
-
我不确定这是否会有大问题,但 ISO 日期应该在
Z之前有 3 位毫秒:2017-09-14T18:40:16.000Z -
时间部分的第二个
MM被解析为一个月,所以试试mm(也在format中)。