如何解决在更改本机时区时获取错误日期的问题?

How to fix for getting wrong date while change the time zone in react native?

我正在使用 new Date("2017-01-12") 进行字符串到日期的转换。它对 IST 工作正常,如果我更改设备时区,如芝加哥 (CST),则日期显示为以前的日期。因为 CST 是 GMT-0600,所以它减少了 -6 小时并显示前一天日期 ("2017-01-11")。使用 Moment 将日期字符串转换为日期的任何其他方法?

Date(year, month, day) 是这里的有效构造函数。 需要知道的 2 件事,当你传递月份时它从 0 开始,所以如果你传递一月它就是月份 0,不要与 1 混淆。 然后,如果你有一个像 YYYY-MM-YY 这样的字符串格式日期,你必须假设你的字符串被命名为 stringDate:

var stringDateSplited = stringDate.split('-');
var dateResult = new Date(stringDateSplited[0], (stringDateSplited[1] -1) , stringDateSplited[2]);

这可能是你想要的结果!