【问题标题】:GMT .setHours don't working properlyGMT .setHours 无法正常工作
【发布时间】:2015-10-26 15:14:16
【问题描述】:

我正在尝试设置开始日的结束时间,为此,我将从开始日期开始设置 23 小时,但最终结果显示我的日期错误为 22 小时。我可以用我的代码更好地解释:

var currDateEndTemp = $('#calendar').fullCalendar('getView').start.toDate();
console.log("End =>" , currDateEndTemp);
var currDateEnd = new Date(currDateEndTemp).toUTCString();
console.log("CurrDateEnd => " , currDateEnd);
currDateEnd = new Date(currDateEnd).setHours(23);
console.log("Set hours =>" , currDateEnd);
currDateEnd = new Date(currDateEnd).toUTCString();
console.log("UTC => " , currDateEnd);

输出

结束 => 2015 年 10 月 26 日星期一 01:00:00 GMT+0100 (ora solare Europa occidentale)
CurrDateEnd => 2015 年 10 月 26 日星期一 00:00:00 GMT
设置时间 => 1445896800000
UTC => 2015 年 10 月 26 日星期一 22:00:00 GMT

但最终结果应该是:

Mon, 26 Oct 2015 23:59:59 GMT

或类似的东西。我做错了什么?

【问题讨论】:

    标签: javascript fullcalendar momentjs


    【解决方案1】:

    您没有考虑夏令时,也没有设置分钟。

    由于View 对象的start 属性是一个时刻,如果你想要视图开始的结束,那么就这样获取它:

    var m = $('#calendar').fullCalendar('getView').start;
    var end = m.clone().endOf('day');
    

    然后您可以拨打toDate,或format,或从那里拨打任何您想要的电话。

    【讨论】:

      猜你喜欢
      • 2016-12-01
      • 1970-01-01
      • 2016-09-01
      • 2012-07-11
      • 2018-04-08
      • 2017-04-20
      • 2018-10-02
      • 2016-09-04
      • 2010-10-06
      相关资源
      最近更新 更多