currDateEnd.setHours 不是函数
currDateEnd.setHours is not a function
我正在尝试将我的日期转换为 ISO 格式并将小时数设置为 23。这是我的代码:
var currDateEnd = $('#calendar').fullCalendar('getView').start;
console.log(currDateEnd);
currDateEnd.toDate().toISOString();
console.log(currDateEnd);
currDateEnd.setHours(23);
输出
Mon Oct 19 2015 02:00:00 GMT+0200 (ora legale Europa occidentale)
Mon Oct 19 2015 02:00:00 GMT+0200 (ora legale Europa occidentale)
但是在最后一行我得到这个错误:
currDateEnd.setHours is not a function
我做错了什么?有办法解决这个问题吗?
更新
运行 代码如下:
var currDateEnd = $('#calendar').fullCalendar('getView').start;
console.log("currDateEnd iso => ", currDateEnd.toDate().toISOString());
产生这个输出:
currDateEnd iso => 2015-10-19T00:00:00.000Z
这是因为setHours 是在Date 对象上执行的,而currDateEnd 是一个moment 对象。可以做moment js的hour方法,然后转成ISO字符串
currDateEnd.hour(23).toISOString()
currDateEnd.setHours(23);
应该是
currDateEnd.toDate().setHours(23);
因为 .setHours()
可以在 Date 对象 上调用,并且你有一个 Moment 对象 currDateEnd
,需要转换。
我正在尝试将我的日期转换为 ISO 格式并将小时数设置为 23。这是我的代码:
var currDateEnd = $('#calendar').fullCalendar('getView').start;
console.log(currDateEnd);
currDateEnd.toDate().toISOString();
console.log(currDateEnd);
currDateEnd.setHours(23);
输出
Mon Oct 19 2015 02:00:00 GMT+0200 (ora legale Europa occidentale)
Mon Oct 19 2015 02:00:00 GMT+0200 (ora legale Europa occidentale)
但是在最后一行我得到这个错误:
currDateEnd.setHours is not a function
我做错了什么?有办法解决这个问题吗?
更新
运行 代码如下:
var currDateEnd = $('#calendar').fullCalendar('getView').start;
console.log("currDateEnd iso => ", currDateEnd.toDate().toISOString());
产生这个输出:
currDateEnd iso => 2015-10-19T00:00:00.000Z
这是因为setHours 是在Date 对象上执行的,而currDateEnd 是一个moment 对象。可以做moment js的hour方法,然后转成ISO字符串
currDateEnd.hour(23).toISOString()
currDateEnd.setHours(23);
应该是
currDateEnd.toDate().setHours(23);
因为 .setHours()
可以在 Date 对象 上调用,并且你有一个 Moment 对象 currDateEnd
,需要转换。