DateFormatter显示不同的日期

时间:2017-09-08 12:02:35

标签: ios swift nsdateformatter

我是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

1 个答案:

答案 0 :(得分:3)

  

addingTimeInterval的参数是要添加的值   的

所以,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
}