Javascript React Intl v2无法使用<;格式化日期>;与SQL日期
我一直在用React构建一个演示,遇到React-intl。我试图使用FormattedDate组件,该组件带有一个“值”,该值是从API调用返回的,存储在“this.state”中 但是页面无法加载,控制台显示: RangeError:提供的日期不在有效范围内,代码如下 index.jsJavascript React Intl v2无法使用<;格式化日期>;与SQL日期,javascript,reactjs,formatjs,Javascript,Reactjs,Formatjs,我一直在用React构建一个演示,遇到React-intl。我试图使用FormattedDate组件,该组件带有一个“值”,该值是从API调用返回的,存储在“this.state”中 但是页面无法加载,控制台显示: RangeError:提供的日期不在有效范围内,代码如下 index.js ReactDOM.render( <IntlProvider locale='en'> <Router> <Route path="/" co
ReactDOM.render(
<IntlProvider locale='en'>
<Router>
<Route path="/" component={App}>
<IndexRoute component={Login} />
<Route path="bookings" component={Bookings} />
<Route path="bookings/:id" component={BookingDetail} />
<Route path="create" component={BookingCreate} />
</Route>
</Router>
</IntlProvider>,
document.getElementById('react-container')
);
知道为什么会这样吗?我也尝试过将裸字符串指定为“值”,以及
(new Date(Date.parse(this.state.booking.checkIn)
,但所有这些都会产生范围错误。我也遇到了类似的问题。查看我的日志,我注意到一些库(在我的例子中是momentjs)返回一个完整的日期,分为100秒
要获取您提供的代码段,而不是:
'2015-10-30T23:53:28.879Z'
它返回类似于:
'2015-10-30T23:53:86.879Z'
formatjs不接受分为60秒以上的分钟(如预期)
出于我的需要,我不关心秒数,所以我解决了这个问题,在将秒数传递给formatjs之前,我只需从字符串中删除秒数。在我的情况下,我需要秒数,所以在发送到
react intl
'2015-10-30T23:53:28.879Z'
'2015-10-30T23:53:86.879Z'