我正在使用FullCalendar script,但在日历上格式化日期/时间时遇到了问题。
我需要所有事件日期/时间数据:
2011-09-28 08:15:00
我的JSON源中的所有日期都是这样的,它正确显示在日历上。但是,如果移动事件或添加新事件(通过永久拖动删除),则时间格式如下所示:
2011年9月30日星期五14:30:00 GMT-0400(美国东部时间)
它没有以该格式显示,但是当我尝试将event.start或event.end插入到我的数据库中时,或者当我这样做时,它会出现这种情况:
eventClick: function(event) {
alert("Event ID: " + event.id + " Start Date: " + event.start + " End Date: " + event.end);
}
我只是用它来看看日期&时间保存在日历中。我需要使用新事件更新我的数据库,但是采用上面首次显示的格式,但我在执行此操作时遇到了问题。
如何使用formatDate
功能?我看到它列出了,我问的原因是因为我不知道该怎么做。
我做了:
$.fullCalendar.formatDate(event.start, 'MM-dd-yyyy');
但这没有做任何事......
答案 0 :(得分:11)
在渲染事件之前,只需使用以下代码:
start=moment(start).format('YYYY/MM/DD hh:mm');
end=moment(end).format('YYYY/MM/DD hh:mm');
确保您使用的是moment.js。
答案 1 :(得分:2)
我所做的是,首先把它放在一个var中,但似乎只在IE中工作 - FF仍然产生了IETF格式(例如:“Wed,2009年10月18日13:00:00 EST”):
var formDate = $.fullCalendar.formatDate(event.start, 'MM-dd-yyyy');
alert(" Start Date: " + formDate);
答案 2 :(得分:0)
查看formatDate和parseDate,它可能会解决您的问题。
答案 3 :(得分:0)
问:我如何使用formatDate函数?我看到它列出了,我问的原因是因为我不知道该怎么做。我做了: $ .fullCalendar.formatDate(event.start,'MM-dd-yyyy'); 这没有任何作用......
答案:
您可以使用外观:
eventClick: function(event) {
alert("Event ID: " + event.id + " Start Date: " + $.fullCalendar.formatDate(event.start, 'MM-dd-yyyy') + " End Date: " + event.end);
}
答案 4 :(得分:0)
我在here
中的类似问题中找到了答案H.D回答:
dateStr = "Tue Aug 13 2013 18:00:00 GMT-0400 (EDT)"
(new Date(dateStr)).toISOString().slice(0, 10)
它将显示:' 2013-08-13'
(new Date(dateStr)).toISOString()
将显示:' 2013-08-13T18:00:00.000Z'
答案 5 :(得分:0)
如果您尝试将日期对象从java传递到完整日历并使用Java 7或更低版本,则下面的函数将适用于您。
日期日期=新日期(" passyourdatestring");
date.toLocaleString();
以下将是事件对象。
{
id: '_jobName' ,
url: 'url ',
title: 'title',
allDay: 'false',
description: 'displayname',
start': 'schedDateTime',
end: date.toLocaleString()
};