最近在做有关日历相关的功能,发现了一个很神奇的小问题
let startTime = new Date(startTimeStr);
这个代码看上去一点毛病都没有,可是在release模式下,
startTime.getMinutes() startTime.getHours()
会出现NaN。
![](https://img.haomeiwen.com/i2287395/5463cf1f1e30fef0.png)
我很郁闷,经过一番科学上网之后发现:是时间格式的问题。
我之前的startTime格式是 2001-01-01 。这种格式在release模式下无效果,具体原因我还得再查查。现在有个整改方法是把时间格式改成 2001/01/01
startTimeStr= startTimeStr.replace(/\-/g,'/');
![](https://img.haomeiwen.com/i2287395/a1870cb2fa2c7b79.png)
顺便推荐一个好用的日历组件 https://github.com/wix/react-native-calendars
使用DatePickerIOS
组件的时候 注意一下 maximumDate
和minimumDate
两个时间段的设置,默认时间不在这个范围内就会产生选择完时间后回滚的问题,另外timeZoneOffsetInMinutes
时区差,单位是分钟。默认情况下,选择器会选择设备的默认时区。通过此参数,可以指定一个时区。举个例子,要使用北京时间(东八区),可以传递8 * 60。
网友评论