私はreact-nativeでカレンダーを作成していましたが、何か奇妙なことに気づきました
これを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")
)
)
私は次のものを手に入れました:
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,
]
https://jakubroztocil.github.io/rrule/のコンソールで実行しているところ
私はより正しい結果を得ました:
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,
]
rrulev2.2.9を使用しています
2018年4月16日からこの時点まで、他のすべては正しく見えました
これをnpmプレイグラウンドで実行することもできます: https ://runkit.com/embed/1lgceq9e7rm0
https://github.com/jakubroztocil/rrule/issues/157に関連している可能性があると考えてください
@ 2.2.8の代わりに@ 2.2.0を使用すると機能します
この問題にも遭遇しました。 この問題は、11月の夏時間シフトが原因のようです。 @ 2.2.9から@ 2.2.0へのダウングレードもうまくいきました。
@ 2.2.9でも日付が間違っていました。頻度を毎週、平日から木曜日に設定すると、水曜日の日付が表示されました。 @ 2.2.0に戻すとうまくいきました。
私はGMT + 2にいます(中央ヨーロッパ、日光の節約)
ここでも同じ、タイムゾーンGMT + 3(夏季キエフ/ウクライナ)
同じルール:FREQ = WEEKLY; BYDAY = FR; DTSTART = 20180713T060000Z; UNTIL = 20180727T060000Z
FirefoxとChromeで異なる結果を返します。ChromeはBYDAY = BYDDAY-1を取っているようです。
2.2.9から2.2.0へのフォールバックで問題が修正されました
@jimmywarting @chrishanyu @ scoutkirkolson @ pzhukこれは2.3.3で修正されたと思います。 引き続き問題が発生する場合は、再度開いてください。
この問題が発生し、2.2.0に戻すと修正されました
最も参考になるコメント
@ 2.2.8の代わりに@ 2.2.0を使用すると機能します