gpt4 book ai didi

ios - 在 iOS Swift 项目中从 "2015-01-17T20:00Z"创建 NSDate

转载 作者:行者123 更新时间:2023-11-28 10:01:29 24 4
gpt4 key购买 nike

我正在处理一些以这种格式返回日期时间的 JSON 数据:"2015-01-17T20:00Z",当我试图将其转换为 NSDate对象,我总是留下零。我已经阅读了一些关于 SO 的教程和答案,Apple 的 NSDate/NSDateFormatter/Date Formatting 文档,并 ping 了一些 IRC channel 。

谁能告诉我我做错了什么以及可能的解决方法?

我在 Swift playground 中的失败代码:

let dateString = "2015-01-17T20:00Z"
let dateStringFormatter = NSDateFormatter()
dateStringFormatter.dateFormat = "yyyy-MM-ddThh:mmZ"
let d = dateStringFormatter.dateFromString(dateString)
println(d)

输出:“可选(2015-01-17 06:00:00 +0000)”

在同一个 Swift playground 中的工作代码:

let dateString = "2015-01-17"
let dateStringFormatter = NSDateFormatter()
dateStringFormatter.dateFormat = "yyyy-MM-dd"
let d = dateStringFormatter.dateFromString(dateString)
println(d)

输出:“无”

最佳答案

您必须将其格式化为“yyyy-MM-dd\'T\'HH:mmZ”。您也可以尝试使用此扩展程序:

extension String {
func toDateFormattedWith(format:String)-> NSDate {
let formatter = NSDateFormatter()
formatter.dateFormat = format
return formatter.dateFromString(self)!
}
}

如 rmaddy 所述,您的日期是 UTC 格式,因此我们将仅转义“T”,如下所示:

"2015-01-17T20:00Z".toDateFormattedWith("yyyy-MM-dd\'T\'HH:mmZ")  // "Jan 17, 2015, 6:00 PM"

如果您需要一些格式化日期的引用,您可以使用这个;

enter image description here

关于ios - 在 iOS Swift 项目中从 "2015-01-17T20:00Z"创建 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27914994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com