Swift 无法将字符串日期解析为日期对象
Swift unable to parse string date to Date object
我有以下日期格式:
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
就是上面提到的格式。
不幸的是,swift 无法识别格式并且 returns nil。
注意:我不想更改字符串以匹配格式化程序,而是要使格式化程序适应字符串的格式。字符串是外部来源,所以我无法更改字符串的格式,但坚持使用它并创建一个可以识别字符串的日期模式的格式化程序。
有什么关于我的格式错误的想法吗?
你在这里犯了错误,这里 T
不是星期的详细信息,T
只是时间部分开始位置的标记。
A single point in time can be represented by concatenating a complete date expression, the letter T as a delimiter, and a valid time expression. For example "2016-10-05T14:30".
所以现在只需将您的 dateFomat
更改为 yyyy-MM-dd'T'HH:mm:ss.SSSZ
,您就会得到您想要的正确日期。
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
formatter.locale = Locale(identifier: "us")
var date = formatter.date(from: date_str)!
print(date)
输出:
我有以下日期格式:
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
就是上面提到的格式。
不幸的是,swift 无法识别格式并且 returns nil。
注意:我不想更改字符串以匹配格式化程序,而是要使格式化程序适应字符串的格式。字符串是外部来源,所以我无法更改字符串的格式,但坚持使用它并创建一个可以识别字符串的日期模式的格式化程序。
有什么关于我的格式错误的想法吗?
你在这里犯了错误,这里 T
不是星期的详细信息,T
只是时间部分开始位置的标记。
A single point in time can be represented by concatenating a complete date expression, the letter T as a delimiter, and a valid time expression. For example "2016-10-05T14:30".
所以现在只需将您的 dateFomat
更改为 yyyy-MM-dd'T'HH:mm:ss.SSSZ
,您就会得到您想要的正确日期。
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
formatter.locale = Locale(identifier: "us")
var date = formatter.date(from: date_str)!
print(date)
输出: