Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Полный календарь jQuery, добавляющий событие только с месяцами и днями

Автор вопроса: nanobashОтветов: 3

Я использую полный календарь и задаюсь вопросом, можно ли добавить событие только с месяцами и днями. Чтобы упростить то, что я имею в виду, давайте взглянем на скрипт

jQuery("#calendar").fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,basicWeek,basicDay'
        },
        events: [
            {
            'title': 'something',
            'start': '2012-09-06'
            }

        ]
    });

таким образом все работает правильно, но я хочу добавить данные только с помощью месяца и дня, вот так =>

events: [
    {
    'title': 'something',
    'start': '09-06'
    }
]

но это не работает, есть решение? Помогите пожалуйста, заранее спасибо :)

  • В какой год календарь должен добавить эти события? Текущий год? ganeshk 06.09.2012
  • @ganeshk Я хочу каждый год, потому что хочу добавить в календарь данные о днях рождения пользователей nanobash 06.09.2012

javascriptjqueryfullcalendar

Ответы

Ответ 1 · рейтинг 1 · Scott Selby

вы не можете этого сделать - согласно документам полного календаря дата должна быть такой:

"Дата. Обязательно. Дата/время начала события. При указании объектов событий для событий или источников событий вы можете указать строку в формате IETF (например: "Среда, 18 октября 2009 г., 13:00:00 EST"), строку в формате ISO8601 (например: "2009-11-05T13:15:30Z") или метку времени UNIX.

Добавление повторяющегося события - это то, что вы пытаетесь сделать, повторяющееся событие в один и тот же день каждый год (например, день рождения) - это проблема, которая была поднята и адресована создателям fullcalendar здесь - они не предложили решение с использованием fullcalendar - предлагаемые решения хранят даты где-то и привязка новых событий к вашему источнику данных или другие способы создания дат перед добавлением события в календарь

Ответ 2 · рейтинг 1 · ganeshk

  1. Вам нужно создать общий массив событий со всеми событиями дня рождения. Используйте здесь правильный формат - например, 'start': '2012-09-06'
  2. Используйте обратный вызов viewDisplay, чтобы поймать изменение точки зрения - из года в год. Здесь отредактируйте исходный массив событий, чтобы добавить текущий год календаря.
  3. Затем используйте методы renderEvent или rerenderEvents для отображения этих новых событий в календаре.

Это должно работать - в теории. Дайте знать, если у вас появятся вопросы. Всего наилучшего!

Ответ 3 · рейтинг 1 · Dinesh

Этот код работает нормально,

Назначьте текущий год в переменной: $date = date("Y");

Объедините переменную, $date."-".date("m-d",$birthday["date_of_birth"]);

Вот и все

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы