【发布时间】:2017-09-08 15:23:31
【问题描述】:
我从字符串生成一个 NSDate 对象。
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.timeZone = NSTimeZone(abbreviation: "GMT")
let stringToDate = dateFormatter.dateFromString(dateFromService) // 2015-07-20 12:00:43 +0000
我从网络服务器获取这个字符串值。我需要修改个人设备时区。想给这个 stringToDate 对象加小时但不工作
var addHours : Int = 2 // 2 hours will be added
var newDate = stringToDate.dateByAddingTimeInterval(addHours)
【问题讨论】:
-
看起来您增加了 2 秒而不是 2 小时。 timeInterval 始终以秒为单位。或者你可以使用 NSDate 的组件。添加
Int = Hour *60*60 -
你应该使用
NSDateComponents来调整日期和时间。 -
是的,他正在增加秒数。
NSTimeInterval代表秒数。