我有来自API的ISO日期我希望将其转换为另一种自定义日期格式,我已经检查了一些线程,看起来我必须在Date类上使用扩展,不幸的是,我的所有尝试都失败了。
这个日期的例子我有:
2014-10-22T00:00:00+00:00
我想将其转换为July 2014
我可以使用普通的Date类来做吗?
以及我想要做的事情
let formatter = ISO8601DateFormatter()
let date = formatter.date(from: "2016-08-26T12:39:00Z")
let string = formatter.string(from: Date())
答案 0 :(得分:2)
试一试:
let formatter = ISO8601DateFormatter()
if let date = formatter.date(from: "2014-10-22T00:00:00+00:00") {
let string = date.stringDate
print(string) // October 2014
}
extension Date {
var stringDate: String {
let formatter = DateFormatter()
formatter.dateFormat = "MMMM yyyy"
return formatter.string(from: self)
}
}
答案 1 :(得分:0)
你可以像这样获得月份和年份
override func viewDidLoad() {
super.viewDidLoad()
print(getFormattedDate(date: Date()))
}
func getFormattedDate(date: Date) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM YYYY"
let strMonth = dateFormatter.string(from: date)
return strMonth
}
答案 2 :(得分:0)
我的SQL Server日期加载和格式如下" 2018-01-17T03:08:28.158769"下面的代码完全适合我
let isoDate = "2018-01-17T03:08:28.158769"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSSSS"
let date = dateFormatter.date(from:isoDate!)!
dateFormatter.dateFormat = "d.MMMM.YYYY"
let displayDate = dateFormatter.string(from: date)
displayDateInLabel.text = displayDate
结果 17.January.2018