DateFormatter 显示不同的日期

DateFormatter showing different date

我是 iOS 的新手,我想为我的约会添加一些毫秒,比如 (5)。我使用了下面的代码,但我没有得到我正在使用的确切日期

let str_TimeStamp = "2017-08-09 10:26:30.8"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss.S"
formatter.timeZone = NSTimeZone(abbreviation: "UTC")! as TimeZone

var dateInput: Date? = formatter.date(from: str_TimeStamp)
dateInput = dateInput?.addingTimeInterval(TimeInterval(5*100))
let endtime = formatter.string(from: dateInput!)
print(endtime)

我得到的输出有几分钟的延迟

2017-08-09 10:28:10.8

The parameter of the addingTimeInterval is the value to add, in seconds.

因此,addingTimeInterval(TimeInterval(5*100)) - 增加 500 秒 = 8 分钟。

如果你想增加一些毫秒比如(5),你应该添加这个时间间隔:0.005

所以,最终的代码是:

let str_TimeStamp = "2017-08-09 10:26:30.8"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss.SSSS"
formatter.timeZone = TimeZone(abbreviation: "UTC")

var dateInput = formatter.date(from: str_TimeStamp)
dateInput = dateInput?.addingTimeInterval(5/1000)

if let dateInput = dateInput {
    let endtime = formatter.string(from: dateInput)
    print(endtime) // prints 2017-08-09 10:26:30.8050
}