FullCalendar日期&时间处理

时间:2011-09-29 13:36:42

标签: javascript fullcalendar

我正在使用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');

但这没有做任何事......

6 个答案:

答案 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)

查看formatDateparseDate,它可能会解决您的问题。

答案 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()

};