【问题标题】:Convert date string to NSDate将日期字符串转换为 NSDate
【发布时间】:2016-10-07 08:34:39
【问题描述】:

我有这个字符串:“2016-10-08 00:20:00.000000”。我需要它作为 NSDate(swift 3 的日期)对象。

我尝试了以下方法:

let formatterJsonDate = DateFormatter()
formatterJsonDate.dateFormat = "yyy-MM-dd hh:mm:ss"

print(formatterJsonDate.date(from: "2016-10-08 00:20:00.000000"))

我总是返回 nil 值。怎么了?我想这与日期格式有关。

【问题讨论】:

  • yyy 应该是 yyyy .. 缺少一个 y
  • 正确。我仍然得到一个零值
  • 在日期字符串上方写入 dateFormat。检查每个“值”是否以格式翻译。您会看到缺少的年份字符,以及秒后的内容...
  • @JoseMartinFit codingexplorer.com/… 很有帮助的教程

标签: ios swift nsdate nsdateformatter


【解决方案1】:

您的日期格式和时间字符串应该相同。在你的情况下应该是这样的,

 let formatterJsonDate = DateFormatter()
 formatterJsonDate.dateFormat = "yyy-MM-dd HH:mm:ss"

 print(formatterJsonDate.date(from: "2016-10-08 00:20:00"))

或更改日期格式器,例如,

  "yyyy-MM-dd HH:mm:ss.SSSSSS"

hh 应该是 24 小时格式的大写字母!!!!喜欢HH

【讨论】:

    【解决方案2】:

    如果你想使用纳秒,你的代码必须是:

    let formatterJsonDate = DateFormatter()
    formatterJsonDate.dateFormat = "yyy-MM-dd hh:mm:ss.SSSS"
    if let myDate = formatterJsonDate.date(from: "2016-10-08 00:20:00.000000")  {
        print(myDate)
    } else {
        print ("Invalid Date")
    }
    

    【讨论】:

      猜你喜欢
      • 2014-09-06
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      相关资源
      最近更新 更多