swift 4从ISO字符串到自定义格式的日期?
问题描述:
我有ISO日期从API我想将其转换为另一种自定义日期格式,我在这里检查了一些线程它看起来像我必须使用Date类的扩展,不幸的是,我所有的尝试失败。swift 4从ISO字符串到自定义格式的日期?
这个例子中的日期我有:
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())
答
尝试:从SQL Server
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)
}
}
答
你可以得到月和年这样
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
}
答
我的日期负荷和这样的格式“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.2012年1月17日