swift-将字符串转换为NSDate

李维斯OGCPAS

我正在尝试使用Swift将日期和时间字符串转换为NSDate,但是问题是时间转换不完美,即使我正确设置了时区,这也是我的代码:

    var dateStr = "2015-10-16 08:00 AM"
    var dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd hh:mm a"
    dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: 28800)
    var date = dateFormatter.dateFromString(dateStr)
    print(date!)

结果如下:2015-10-16 00:00:00 +0000您认为是什么问题?谢谢!

t4nhpt

没错 您应该先转换date为,String然后再打印。

    let dateStr = "2015-10-16 08:00 AM"
    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd hh:mm a"
    dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: 28800)
    let date = dateFormatter.dateFromString(dateStr)
    print(dateFormatter.stringFromDate(date!))

或如Swift 3

    let dateStr = "2015-10-16 08:00 AM"
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd hh:mm a"
    dateFormatter.timeZone = TimeZone(secondsFromGMT: 28800)
    let date = dateFormatter.date(from: dateString)
    print(dateFormatter.string(from: date))

相同的结果: 2015-10-16 08:00 AM

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章