Wikipedia da un ejemplo de un ISO 8601 ejemplo de un repeating interval:ISO 8601 intervalo de repetición
R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M
Esto es lo que significa:
R5
significa que el intervalo después de la barra se repite 5 veces .2008-03-01T13:00:00Z
significa que el intervalo comienza en este datetime dado.P1Y2M10DT2H30M
significa que el intervalo tiene una duración de- 1 años
- 2 meses
- 10 días
- 2 horas
- 30 minutos
Mi problema es que yo no sé exactamente lo que se repite aquí. ¿Ocurre la repetición inmediatamente después de que termina el intervalo? ¿Puedo especificar que todos los lunes algo pasa de 13:00 a 14:00?
Para "intervalos" sin una fecha de inicio o finalización específica, he creado un formato basado en ISO 8601. Se usa en estas bibliotecas [JavaScript] (https://github.com/smhg/date-frequency-js) y [PHP] (https://github.com/smhg/date-frequency-php). "todos los lunes a las 13:00:00" en su ejemplo está escrito como "F1D/WT13H0M0S". El intervalo de 1 hora (duración) se puede almacenar de forma independiente. – smhg
@smhg ¿Tiene un documento que describe sus extensiones? Si es así, realmente me gustaría leerlo, si no, ¡hagámoslo! – kzh
He estado leyendo en RFC 5545's [RRULE] (http://tools.ietf.org/html/rfc5545#section-3.3.10) (de iCalendar) basado en la respuesta de Mu Mind. Mi formato depende de las funciones de filtro externo para operaciones más avanzadas (por ejemplo, F (impar) W/ET10H0M0S para todos los días a las 10:00:00 en semanas impares). RRULE le permite especificar todo en línea pero no es legible por humanos (sin conocimiento del rfc). En mis casos de uso, estoy dispuesto a hacer una transacción. Así que reescribiré ambas bibliotecas usando este estándar existente. – smhg