我目前有一个代码:
let now = NSDate()
let result: NSDate
result = Cal.iso8601.dateByAddingUnit(.Year, value: -5, toDate: now, options: [])!
return Cal.iso8601.startOfDayForDate(result)
以格式生成日期:
2016-09-15 22:00:00 +0000
我希望将其转换为此日期格式:
2016-09-16T13:49:23.221Z
我怎么能在Swift中做到?
答案 0 :(得分:4)
DateFormatter需要大量资源,因此请使用此扩展名,以便只创建格式化程序的一个实例。
struct Formatter {
static let instance = NSDateFormatter(dateFormat: "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
}
extension NSDateFormatter {
convenience init(dateFormat: String) {
self.init()
self.dateFormat = dateFormat
}
}
然后只需用:
调用它// dateTime = the date that you want to format
let date = Formatter.instance.dateFromString(dateTime)
答案 1 :(得分:0)
class func convertDateFormatFromOneFormatToOther(date: String,currentFormat: String,reqFormat : String) -> String
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = currentFormat
let date = dateFormatter.date(from: date)
dateFormatter.dateFormat = reqFormat
return dateFormatter.string(from: date!)
}
<块引用>
您可以使用上述方法将任何类型的日期从一种格式转换为另一种格式。
Usage: convertDateFormatFromOneFormatToOther(date: "04/03/2021 05:42:19 PM",currentFormat: "dd/MM/yyyy HH:mm:ss a",reqFormat : "dd MMM yyyy HH:mm:ss a")