获取语言环境日期格式信息
Get Locale Date Format Information
Using 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)
在美国这个 returns MM/dd/yyyy
。在德国,这给出 dd.MM.yyyy
.
如果您需要获得适当的时间格式,同时考虑到用户选择的 12/24 小时时间格式,请使用 jms
模板。 j
是一个特殊的格式说明符,仅与模板一起使用,即 returns 为小时 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
Using 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)
在美国这个 returns MM/dd/yyyy
。在德国,这给出 dd.MM.yyyy
.
如果您需要获得适当的时间格式,同时考虑到用户选择的 12/24 小时时间格式,请使用 jms
模板。 j
是一个特殊的格式说明符,仅与模板一起使用,即 returns 为小时 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