Date()はGMTベースなので日本では9時間ズレます。
単純にシステム日時が欲しい時のためにメソッドをひとつ追加します。
Dateを拡張
extension Date {
func toStringWithCurrentLocale() -> String {
let formatter = DateFormatter()
formatter.timeZone = TimeZone.current
formatter.locale = Locale.current
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return formatter.string(from: self)
}
}
テスト
// 15時に実行
let date = Date()
print(date)
print(date.toStringWithCurrentLocale())
// 2017-12-28 06:00:30 +0000
// 2017-12-28 15:00:30