iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

【Swift】現在から〇〇時間後のDateを取得する

本日も初学者向けの内容で、現在から〇〇時間後や〇〇日前の Date を取得する方法を紹介したいと思います。

結論

下記のように Calendarインスタンスメソッド date(byAdding:to:options:)DateComponents.hour を、value1 を追加することで 1時間後Date を取得することができます。なお、戻り値として返ってくる Date はオプショナルになります。

let now = Date()
let hourLater = Calendar.current.date(byAdding: .hour, value: 1, to: now) // 1時間後

次に現在から2日後の Date を取得してみます。同様に DateComponents に時間の単位を value に時間差を指定することで取得できます。

let now = Date()
let twoDaysLater = Calendar.current.date(byAdding: .day, value: 2, to: now) // 2日後

また、過去の Date を取得する場合には、value に負の数を指定します。下記が現在から5時間前の Date を取得するサンプルになります。

let now = Date()
let fiveHoursAgo = Calendar.current.date(byAdding: .hour, value: -5, to: now) // 5時間前

参考

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com