Swift无法将字符串日期解析为Date对象

时间:2016-10-05 08:23:13

标签: swift date nsdate swift3 nsdateformatter

我有以下日期格式:

2016-08-26T05:16:50.200Z

我正在尝试将类似的日期格式化字符串解析为Swift 3.0中的Date个对象。

这是我的努力:

let formatter = DateFormatter()
formatter.dateFormat = "yyyy-mm-dd EEEEE HH:mm:ss Z"
formatter.locale = Locale(identifier: "us")

var date = formatter.date(from: date_str)!

date_str的格式为上述格式。 不幸的是,很快就不会识别格式并返回nil。

注意:我不想更改字符串以匹配格式化程序,但要使格式化程序适应字符串的格式。字符串是外部源,因此我无法更改字符串的格式,但要坚持使用它并创建一个能够识别字符串日期模式的格式化程序。

关于我的格式错误的任何想法?

1 个答案:

答案 0 :(得分:3)

您在这里犯了错误,PXSelectJoin<BAccount, InnerJoin<CQHRISTimekeepingBundyClock, On<BAccount.bAccountID, Equal<CQHRISTimekeepingBundyClock.employee>>>, Where<...>> 不适用于周细节,T只是时间部分开始的标记。

  

单个时间点可以通过连接完整的日期表达式,字母T作为分隔符和有效的时间表达式来表示。例如“2016-10-05T14:30”。

现在只需将T更改为dateFomat,即可获得所需的正确日期。

yyyy-MM-dd'T'HH:mm:ss.SSSZ

<强>输出:

enter image description here