I\'m trying to format a date from a string into another format.
For example: 2012-05-29 23:55:52 into 29/05 *newline* 2010.
I just
JFrank answer is good. But Apple says:
"Cache Formatters for Efficiency" (https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html) to void allocating and discarding. So, as statics are already lazy...
(For clarity I show only generating a date.. output format is similar..)
import Foundation
extension Date{
// Global constants and variables are always computed lazily:
static private var yyyyMMdd_dateFormatter : DateFormatter {
let df = DateFormatter()
df.dateFormat = "yyyyMMdd"
return df
}
init?(YYYYMMDDString: String?){
guard let dateString = YYYYMMDDString else {return nil}
guard let date = Self.yyyyMMdd_dateFormatter.date(from: dateString) else {
return nil
}
self = date
}
}