NSDataのタイムゾーンについて

NSDateはGMTの1970年1月1日 00:00:00からの経過秒数で日時を管理しています。getDay、getMinutesといった日時を取得するメソッドも持っていないため扱いには注意が必要です。ここでは、NSDateの使い方を解説していきます。

GMTで表示

Swift


let now = Date()
let startDate = calendar.startOfDay(for: now)
print(startDate)

GMTから「Asia/Tokyo」へ変換

Swift


let dateFormatter = DateFormatter()
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale!
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.timeZone = NSTimeZone(name: "Asia/Tokyo") as TimeZone!
now = dateFormatter.date(from: dateFormatter.string(from: now))!