🕌
Swiftで00秒ピッタリのDate型を生成する
ロジック
- Date()→DateComponents()に変換する
- この時year, month, day, hour, minuteだけを指定してsecondsは指定しない
- 生成したDateComponents()をDate()に変換する
- 秒数を切り捨てたDate()を得られる
コード
let calender = Calendar.init(identifier: .gregorian)
let nowDate = Date()
print(nowDate)
// Date -> DateComponentsで秒数以下を切り捨て
let convertedDate = calender.dateComponents([.year,
.month,
.day,
.hour,
.minute],
from: nowDate)
// DateComponents -> Dateで秒数が切り捨てられた(=00秒ぴったり)のDate作成
let justTimeDate = calender.date(from: convertedDate) ?? Date()
print(justTimeDate)
結果
2022-01-29 06:59:20 +0000
2022-01-29 06:59:00 +0000
最後に
もっと良い方法があれば教えていただければと思います。
Discussion