使用Swift 4,有没有一种方法可以获得区域设置日期格式的字符串表示?基于iPhone的区域设置,我想找出格式是yyyy/mm/dd还是mm/dd/yyyy。
我已经找到了所有更改日期格式或从区域设置中获取日期的方法,但是还没有找到如何获取实际格式的方法。
使用Swift 4,有没有一种方法可以获得区域设置日期格式的字符串表示?基于iPhone的区域设置,我想找出格式是yyyy/mm/dd还是mm/dd/yyyy。
我已经找到了所有更改日期格式或从区域设置中获取日期的方法,但是还没有找到如何获取实际格式的方法。
使用 DateFormatter dateFormat(fromTemplate:options:locale:)
。
let userFormat = DateFormatter.dateFormat(fromTemplate: "yyyyMMdd", options: 0, locale: Locale.current)
在美国,这将返回MM/dd/yyyy
。在德国,这将返回dd.MM.yyyy
。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)
对于美国,这将给出:
MMMM d, y 'at' h:mm:ss a zzzz
对于德国,这将给出:
d. MMMM y 'um' HH:mm:ss zzzz