私は以下のSwift(Swift 3)関数を使って、日付コンポーネント(DateComponents
)を持つ日付(Date
)を作成します。与えられた数字で日付をつける
func makeDate(year: Int, month: Int, day: Int, hr: Int, min: Int, sec: Int) -> NSDate {
let calendar = NSCalendar(calendarIdentifier: .gregorian)!
let components = NSDateComponents()
components.year = year
components.month = month
components.day = day
components.hour = hr
components.minute = min
components.second = sec
let date = calendar.date(from: components as DateComponents)
return date! as NSDate
}
GMTを使用すると、GMT日付が返されます。
override func viewDidLoad() {
super.viewDidLoad()
let d = makeDate(year: 2017, month: 1, day: 8, hr: 22, min: 16, sec: 50)
print(d) // 2017-01-08 13:16:50 +0000
}
私が実際に戻したいのは、これらの数字に基づいた日付(2017-01-08 22:16:50)です。 DateComponents
でどうすればいいですか?ありがとう。
自動的にタイムゾーンを占めるという問題はありますか? –
もしそうなら、たぶんNSDateFormatterを使うべきでしょうか? –