Swift

CalendarインスタンスをCalendar.current で取得しちゃダメ!

swift 見出し

Swiftで、Calendarクラスを
let cal = Calendar.current
で取得しちゃダメです!

なぜかというと、端末側で「和暦」にしてると、yearが元号計算になって、2018年は、平成2018年で計算される、という罠が!

let cal = Calendar(identifier: .gregorian)
と、明示的に西暦を指定すればOK!

ぼくの「しつこいお薬アラーム」というアプリで、一部のユーザーから曜日がズレて表示されるというお問い合わせやレビューをもらっていて、ずっと調べていて、やっとこのCalendar問題に気づきました。。

ハマッタ。。。