I want to get the time in 12h or 24h format from DateFormatter according to option "24-Hour-Time" in User Preferences.
If I set "24-Hour-Time" = "on" and DateFormatter like this:
let formatter = DateFormatter()
let locale = Locale(identifier: "en_US")
print(locale) // "en_US (fixed)\n"
formatter.locale = locale
formatter.dateStyle = .none
formatter.timeStyle = .short
formatter.string(from: Date()) // "2:54 PM" (not "14:54")
But if I set:
let locale = Locale.current // "en_US (current)\n"
instead of
let locale = Locale(identifier: "en_US") // "en_US (fixed)\n"
the result will be
formatter.string(from: Date()) // "14:54"
How to create custom locale setting 12 or 24 hour format.