31 lines
750 B
Swift
31 lines
750 B
Swift
|
|
import Foundation
|
||
|
|
|
||
|
|
extension Date {
|
||
|
|
private static let friendlyFormatter: DateFormatter = {
|
||
|
|
let f = DateFormatter()
|
||
|
|
f.dateStyle = .medium
|
||
|
|
f.timeStyle = .short
|
||
|
|
return f
|
||
|
|
}()
|
||
|
|
|
||
|
|
private static let relativeFormatter: RelativeDateTimeFormatter = {
|
||
|
|
let f = RelativeDateTimeFormatter()
|
||
|
|
f.unitsStyle = .abbreviated
|
||
|
|
return f
|
||
|
|
}()
|
||
|
|
|
||
|
|
var friendlyString: String {
|
||
|
|
Date.friendlyFormatter.string(from: self)
|
||
|
|
}
|
||
|
|
|
||
|
|
var relativeString: String {
|
||
|
|
Date.relativeFormatter.localizedString(for: self, relativeTo: Date())
|
||
|
|
}
|
||
|
|
|
||
|
|
var backupTimestamp: String {
|
||
|
|
let f = DateFormatter()
|
||
|
|
f.dateFormat = "yyyyMMdd_HHmmss"
|
||
|
|
return f.string(from: self)
|
||
|
|
}
|
||
|
|
}
|