【问题标题】:How to fix for getting wrong date while change the time zone in react native?如何在更改本机时区时修复错误的日期?
【发布时间】:2018-01-30 11:05:07
【问题描述】:
我正在使用new Date("2017-01-12") 进行字符串到日期的转换。它适用于 IST,如果我更改设备时区,如芝加哥(CST),则日期显示为上一个日期。因为 CST 是 GMT-0600,所以它减少了 -6 小时并显示前一天日期("2017-01-11")。使用 Moment 将日期字符串转换为日期的任何其他方式?
【问题讨论】:
标签:
react-native
timezone
momentjs
react-native-ios
【解决方案1】:
Date(year, month, day) 是这里的有效构造函数。
要知道的 2 件事,当您通过月份时,它从 0 开始,所以如果您通过 1 月份,则为 0 月份,不要与 1 混淆。
然后,如果你有一个像 YYYY-MM-YY 这样的字符串格式日期,你必须假设你的字符串被命名为 stringDate:
var stringDateSplited = stringDate.split('-');
var dateResult = new Date(stringDateSplited[0], (stringDateSplited[1] -1) , stringDateSplited[2]);
这可能是你想要的结果!