Использование DateFormatter dateFormat(fromTemplate:options:locale:)
.
let userFormat = DateFormatter.dateFormat(fromTemplate: "yyyyMMdd", options: 0, locale: Locale.current)
В США это возвращает MM/dd/yyyy
. В Германии это дает dd.MM.yyyy
.
Если вам когда-либо понадобится получить соответствующий формат времени, который также учитывает выбранный пользователем 12/24-часовой формат времени, используйте шаблон jms
. j
- это специальный спецификатор формата, используемый только с шаблонами, который возвращает либо h
, либо H
в течение часа, в зависимости от того, что подходит.
Другой возможный вариант - создать DateFormatter
, установить нужные dateStyle
и timeStyle
, а затем прочитать свойство dateFormat
:
var mydf = DateFormatter()
mydf.dateStyle = .long // set as desired
mydf.timeStyle = .full // set as desired
print(mydf.dateFormat)
Для США это дает:
ММММ д, у 'в' ч: мм: сс zzzz
Для Германии это дает:
* * Д тысячу тридцать один. ММММ ммм ЧЧ: мм: сс zzzz