我正在使用下面的代码来获取组件的一天。我有一个2017-01-08 18:38:00 UTC
。我正在使用下面的代码来获取组件的一天。
var components = calendar.dateComponents([.year, .month, .day,.weekday
], from: eventModel.start_date!)
print("component day is \(String(describing: components.day!))")
但是当我打印日期时,它给我的日期是9,而不是8,所以代码的问题是什么。请指导我如何改进此功能。
最佳答案
打印(calendar.timeZone)。我认为这是您当地的时区。
---------更新-----------
var cps = DateComponents()
cps.year = 2017
cps.month = 1
cps.day = 8
cps.hour = 18
cps.minute = 30
print(cps)
var cal = Calendar(identifier: .gregorian)
let localDate = cal.date(from: cps)!
print(localDate) // 2017-01-08 10:30:00 +0000
let timezone = TimeZone(abbreviation: "UTC")
cal.timeZone = timezone!
let utcDate = cal.date(from: cps)!
print(utcDate) // 2017-01-08 18:30:00 +0000
关于ios - 使用组件日期 swift 增加的一天?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41828474/