我得到了我的日历的开始日期:
var date_start = $('#calendar').fullCalendar('getView').start
.toDate()
我可以在chrome控制台中看到此结果:
Mon Nov 09 2015 01:00:00 GMT + 0100(ora solare Europa occidentale)
我需要显示这个结果:
Mon Nov 09 2015 00:00:00
我也想要结束这一天,应该是这样的:
2015年11月10日星期二00:00:00
我如何才能达到这个结果?
答案 0 :(得分:2)
toDate
会返回一个JavaScript Date
对象。因此,任何输出字符串都基于Date.toString
的特定实现。如果您想要特定输出,则应使用时刻format
函数进行格式化。
date_start.format("ddd MMM DD YYYY HH:mm:ss")
然而,这将返回01:00,你要求00:00。目前尚不清楚您是在询问本地开始日期,还是要求提供相等的UTC值。
如果您想要当地的当地活动:
date_start.clone().startOf('day').format("ddd MMM DD YYYY HH:mm:ss")
如果您想要等效的UTC值:
date_start.clone().utc().format("ddd MMM DD YYYY HH:mm:ss")
克隆非常重要,因为时刻对象是可变的。如果你没有克隆,那么你将操纵原始时刻,这可能会在fullcalendar中产生意想不到的副作用。您可以使用上面显示的clone
函数,也可以将其包含在moment函数中,如moment(date_start)...
两者都做同样的事情。
对于结束值,看起来你想要第二天的开始,所以这样做:
date_start.clone().startOf('day').add(1, 'day').format("ddd MMM DD YYYY HH:mm:ss")
或者:
date_start.clone().utc().add(1, 'day').format("ddd MMM DD YYYY HH:mm:ss")
再次选择与您的使用场景相对应的那个。
仅供参考 - 你似乎要求UTC,但在绝大多数情况下,当向用户显示诸如fullcalendar之类的日历时,本地时间更为相关。