Если у меня есть таблица встреч со следующими столбцами, как я могу запросить rrule, чтобы вытащить встречи, которые происходят в определенную дату или между двумя датами?Как запросить повторяющиеся встречи, сохраненные как iCal RRULE в таблице базы данных?
Appointments
------
id
name
dt_start
dt_end
rrule
Так, например, позволяет сказать, что у меня назначена встреча, которая начинается на 2016-09-28 и заканчивается на 2017-04-28 и не происходит каждые 2 недели в понедельник, в пятницу до 28 апреля 2017. Ниже будет быть RRule:
RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=20170428T230000Z;BYDAY=MO,FR EXDATE:20170414T023000Z
Таким образом, используя приведенный выше пример, некоторые из дат выше назначение будет происходить на будет включать в себя следующее:
2016-09-30 FRI
2016-10-10 MO
2016-10-14 FRI
2016-10-24 MO
Теперь, как сделать Я запрашиваю эту таблицу с помощью SQL или любого другого метода, чтобы вытащить все встречи, которые происходят в 2016-10-10?
Для записи это будет сделано на C# asp.net и SQL-сервере. Есть ли библиотека C# или SQL Server, которую я могу использовать для анализа и запроса rrule?
Я просмотрел ICAL.net, но, похоже, на нем нет документации или как бы я использовал его для этой цели, как описано выше.
Есть ли у кого-нибудь опыт работы с ICAL.net?
Ваш переход должен разделить строку и извлечь различные части, построить таблицу дат между вашим началом и концом (рекурсивный cte) или измерение даты было бы хорошо. затем используйте кучу аргументов case для определения всех комбинаций дат, интерфейса, дней недели, конца месяца, первого четверга месяца и т. д. ... это не будет легкой задачей, но выполнимо. – Matt