关于javascript:时区偏移导致错误的日期

Timezone offset causing wrong date

我正在使用Bootstrap DatePicker的setEndDate函数(参考)。
我需要传递一个Javascript日期对象。 我正在尝试将简单的年 - 月 - 日字符串转换为日期,但根据窗口的时区,我会得到不同的结果:

在GMT -8:

1
2
> new Date('2015-01-16')
  => Thu Jan 15 2015 16:00:00 GMT-0800 (Pacific Standard Time)

在GMT +2:

1
2
> new Date('2015-01-16')
  => Fri Jan 16 2015 02:00:00 GMT+0200 (Eastern Europe Standard Time)

所以我留下的是一个不同的结束日期,具体取决于用户所在的时区,即使服务器端提供了相同的日期字符串。

我会很感激这方面的帮助。


显然,即使文档声明函数的参数应该是日期对象,实际上它也可以以"m-d-yyyy"格式给出一个字符串。

所以在我的情况下,我所要做的就是调用这样的函数:

1
$('#my-input').datepicker('setEndDate', '1-16-2015');

希望这有助于某人。