Обработка даты и времени FullCalendar

Я использую сценарий FullCalendar и у меня возникли проблемы с форматированием даты / времени событий в календаре.

мне нужны все данные даты/времени событий, чтобы выглядеть так:

2011-09-28 08:15:00

все даты похожи на это в моем источнике JSON, которые отображаются в календаре правильно. Однако, если событие перемещено или добавлено новое событие (удалено вечным перетаскиванием), формат времени выглядит например:

Пт 30 сентября 2011 14:30: 00 GMT-0400 (EDT)

он не отображается в этом формате, но он появляется таким образом, когда я пытаюсь вставить событие.начало или событие.end в мою базу данных, или когда я это сделаю:

eventClick: function(event) {

alert("Event ID: " + event.id + " Start Date: " + event.start + " End Date: " + event.end);
}

Я использую это, только чтобы увидеть, как дата и время сохраняются в календаре. Мне нужно обновить базу данных новыми событиями, но в формате, показанном выше, но у меня возникли проблемы этот.

как использовать

7 ответов


то, что я сделал, это сначала поместить его в var, но только казалось, что работает в IE-FF по-прежнему производится формат IETF (например: "Wed, 18 Oct 2009 13: 00: 00 EST"):

var formDate = $.fullCalendar.formatDate(event.start, 'MM-dd-yyyy');
alert(" Start Date: " + formDate);

просто используйте следующий код перед отображением событий:

start=moment(start).format('YYYY/MM/DD hh:mm');

end=moment(end).format('YYYY/MM/DD hh:mm');

убедитесь, что вы используете момент.js.


проверить formatDate и parseDate и это, вероятно, решит ваши проблемы.


Q: Как использовать функцию formatDate? Я вижу его в списке, почему я спрашиваю, потому что я не знаю что с этим делать. Я сделал: $.fullCalendar.formatDate (event.начинай: "ММ-ДД-гггг"); Это ничего не значит...

ответ :

вы можете использовать look likes:

eventClick: function(event) {

alert("Event ID: " + event.id + " Start Date: " +  $.fullCalendar.formatDate(event.start, 'MM-dd-yyyy') + " End Date: " + event.end);
}

Я нашел ваш ответ в аналогичном вопросе, в здесь

ответил 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.000 Z'


Если вы пытаетесь передать объект date из java в полный календарь и используете Java 7 или меньше, функция ниже будет работать для вас.

Date date= новая дата ("passyourdatestring");

дата.методом tolocalestring();

и следующим будет объект события.

{

id: '_jobName' ,
url: 'url ',
title: 'title',
allDay: 'false',
description: 'displayname',
start': 'schedDateTime',
end: date.toLocaleString()

};


я использовал ниже код при рендеринге события в календаре.

надеюсь, этот код поможет вам.

  eventRender: function(event, element) {
          eventsdate = moment(event.start).format('hh:mm a');
          eventedate = moment(event.end).format('hh:mm a');

          element.find('.fc-time').html(eventsdate + " - " + eventedate + "<br>");
}

убедитесь, что вы используете момент.js