小时返回错误的时间



我使用FullCalendar 2.3.1moment js 2.9.0,实际上我以这种方式获得日期:

var currDateStart = $calendar.fullCalendar('getView').start;

this return me:

星期一2015年10月26日01:00:00 GMT+0100 (ora solare Europa occidentale)

注:以上日期为moment object

下一步我要把日期转换成ISO格式:

currDateStart =  new Date(new Date(currDateStart).setHours(0)).toISOString();

我得到这个:

2015 - 10 - 25 t23:00:00.000z

但是结果是不正确的,因为应该是:

2015 - 10 - 25 t00:00:00.000z

错误的日期bug我的日历渲染事件。我做错了什么?

结果是正确的,正如预期的那样。ISOString返回UTC格式的日期。注意2015-10-25T23:00:00.000Z末尾的Z。

你在一个+1 UTC的时区,所以当你设置setHours(0) -它设置的时间在你的区域,和ISOString返回UTC(这是1小时后)。您可以使用setHours(1)来对此进行计数,或者调整使用输出的函数以期望UTC(本地时间- 1小时)的日期。

当我尝试设置日期时,它会将日期转换为GMT+0530,然后将日期转换为ISO字符串

var currDateStarttemp = 'Mon Oct 26 2015 1:00:00 GMT+0100 (ora solare Europa occidentale)';
var currDateStart = new Date(currDateStarttemp).toISOString();
snippet.log("currDateStart " + currDateStart);
currDateStart = new Date(currDateStart).setUTCHours(0)
snippet.log("setHours " + new Date(currDateStart));
currDateStart = new Date(currDateStart).toISOString();
snippet.log("toISOString " + currDateStart);
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

相关内容

  • 没有找到相关文章

最新更新