Estaba construyendo un calendario en react-native y noté algo extraño
Cuando ejecuto esto en iOS
console.log(
rrulestr('FREQ=DAILY;DTSTART=20180416T070000Z;INTERVAL=2;WKST=MO')
.between(
new Date("2018-10-24T22:00:00.000Z"),
new Date("2018-11-03T00:00:00.000Z")
)
)
Obtuve lo siguiente:
Array [
2018-10-25T07:00:00.000Z,
2018-10-27T07:00:00.000Z, <--
2018-10-28T08:00:00.000Z, <--
2018-10-30T08:00:00.000Z,
2018-11-02T08:00:00.000Z,
]
Donde lo ejecuto en la consola en https://jakubroztocil.github.io/rrule/
Obtuve un resultado más correcto:
Array [
2018-10-25T07:00:00.000Z,
2018-10-27T07:00:00.000Z, <--
2018-10-29T08:00:00.000Z, <--
2018-10-31T08:00:00.000Z,
2018-11-02T08:00:00.000Z,
]
estoy usando la regla v2.2.9
todo lo demás parecía correcto desde 2018-04-16 hasta este punto
Incluso ejecute esto en el área de juegos de npm: https://runkit.com/embed/1lgceq9e7rm0
Creo que podría estar relacionado con https://github.com/jakubroztocil/rrule/issues/157
usar @ 2.2.0 en lugar de @ 2.2.8 funciona
Nos encontramos con este problema también. El problema parece ser causado por el cambio de horario de verano en noviembre. Bajar de categoría a @ 2.2.0 desde @ 2.2.9 también funcionó para nosotros.
También obtuve fechas incorrectas con @ 2.2.9. Al establecer la frecuencia en semanal y el día de la semana en jueves, ¡obtuve fechas que eran los miércoles! Cambiar de nuevo a @ 2.2.0 funcionó para mí.
Estoy en GMT+2 (Europa Central, horario de verano)
Lo mismo aquí, zona horaria GMT+3 (verano Kiev/Ucrania)
Misma regla: FREQ=WEEKLY;BYDAY=FR;DTSTART=20180713T060000Z;UNTIL=20180727T060000Z
devuelve resultados diferentes en Firefox y Chrome, donde Chrome parece tomar BYDAY=BYDDAY-1
Retroceso de 2.2.9 a 2.2.0 soluciona el problema
@jimmywarting @chrishanyu @scoutkirkolson @pzhuk Creo que esto se solucionó en 2.3.3. Vuelva a abrir si continúa teniendo problemas.
Experimentamos este problema y volviendo a 2.2.0 lo solucionó
Comentario más útil
usar @ 2.2.0 en lugar de @ 2.2.8 funciona