我正在使用打字稿(Angular 5)并且我有以下代码:
let date = new Date(2018, 8, 17, 14, 0);
Run Code Online (Sandbox Code Playgroud)
我希望结果是“2018 年 8 月 17 日星期五 14:00:00 GMT-0400(东部夏令时间)”,但实际上返回的是这样的:
2018 年 9 月 17 日星期一 14:00:00 GMT-0400(东部夏令时间)
如您所见,它为日期增加了一个月。我已经通过如下代码减去来修复它:
let date = new Date(2018, 8 - 1, 17, 14, 0);
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么会发生这种情况?任何的想法?有没有其他方法可以解决这个问题?