根据设备区域设置格式化日期字符串
Format date string as per device locale settings
我必须根据设备区域设置格式化日期字符串(UTC 格式)。例如在印度应显示为 08/09/2017 12.23,在美国应显示为 09/08/2017 12.23,根据不同的区域设置应相应显示日期格式。
最好的方法是不设置 dateFormat
,而是设置 dateStyle
and timeStyle
。
let formatter = DateFormatter()
formatter.timeZone = TimeZone(secondsFromGMT: 0)
formatter.dateStyle = .medium
formatter.timeStyle = .medium
let string = formatter.string(from: Date())
如果这些样式中的 none 非常正确,那么,继续使用 dateFormat
,而不是字符串文字,使用 setLocalizedDateFormatFromTemplate(_:)
设置 dateFormat
。
let formatter = DateFormatter()
formatter.timeZone = TimeZone(secondsFromGMT: 0)
formatter.setLocalizedDateFormatFromTemplate("ddMMyyyy HH:mm")
let string = formatter.string(from: Date())
美国用户显示 09/08/2017 19:42
,英国用户显示 08/09/2017 19:42
,德国用户显示 08.09.2017 19:42
我必须根据设备区域设置格式化日期字符串(UTC 格式)。例如在印度应显示为 08/09/2017 12.23,在美国应显示为 09/08/2017 12.23,根据不同的区域设置应相应显示日期格式。
最好的方法是不设置 dateFormat
,而是设置 dateStyle
and timeStyle
。
let formatter = DateFormatter()
formatter.timeZone = TimeZone(secondsFromGMT: 0)
formatter.dateStyle = .medium
formatter.timeStyle = .medium
let string = formatter.string(from: Date())
如果这些样式中的 none 非常正确,那么,继续使用 dateFormat
,而不是字符串文字,使用 setLocalizedDateFormatFromTemplate(_:)
设置 dateFormat
。
let formatter = DateFormatter()
formatter.timeZone = TimeZone(secondsFromGMT: 0)
formatter.setLocalizedDateFormatFromTemplate("ddMMyyyy HH:mm")
let string = formatter.string(from: Date())
美国用户显示 09/08/2017 19:42
,英国用户显示 08/09/2017 19:42
,德国用户显示 08.09.2017 19:42