Подтвердить что ты не робот

Интервал повторения ISO 8601

В Википедии приведен пример ISO 8601 пример повторного интервала :

R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M

Вот что это значит:

  • R5 означает, что интервал после косой черты повторяется 5 раз.
  • 2008-03-01T13:00:00Z означает, что интервал начинается с данного дат-времени.
  • P1Y2M10DT2H30M означает, что интервал длится
    • 1 год
    • 2 месяца
    • 10 дней
    • 2 часа
    • 30 минут

Моя проблема в том, что я не знаю точно, что здесь повторяется. Повторяет ли повторение происходят сразу после окончания интервала? Могу ли я указать, что каждый понедельник что-то происходит с 13:00 до 14:00?

4b9b3361

Ответ 1

Сам стандарт не уточняет, но единственная очевидная интерпретация здесь заключается в том, что интервал повторяется "спина к спине". Таким образом, этот повторяющийся интервал:

R2/2008-03-01T13:00:00Z/P1Y2M10DT2H30M

Будет эквивалентно этим единовременным интервалам:

2008-03-01T13:00:00Z/P1Y2M10DT2H30M
2009-05-01T15:30:00Z/P1Y2M10DT2H30M

(Примечание: мое чтение состоит в том, что число повторений включает в себя первое вхождение)

Невозможно представить "каждый понедельник с 13:00 до 14:00" внутри ISO 8601, но это естественно сделать для VEVENT в формате iCalendar. (Если вы можете сделать это полностью в соответствии с ISO 8601, то это приведет к появлению множества дополнительных запросов функций)