对于 NSDateFormatter 同时使用 locale 和 dateFormat 有意义吗?

Does it make sense to use locale and dateFormat together for NSDateFormatter?

所以这有意义吗?我认为 dateFormat 本身就准确指定了输出,不是吗?

如果您需要解析一个日期,您可以同时使用两者:

let formater = DateFormatter()
let enDateString = "2019, 16 January"
formater.locale = Locale(identifier: "en_US")
formater.dateFormat = "yyyy, dd MMMM"

let enDate = formater.date(from: enDateString)
print(enDate) // display: Optional(2019-01-16 00:00:00 +0000)

let frDateString = "16 janvier 2019"
formater.locale = Locale(identifier: "fr_FR")
formater.dateFormat = "dd MMMM yyyy"

let frDate = formater.date(from: frDateString)
print(frDate) // display: Optional(2019-01-16 00:00:00 +0000)

此处 dateFormat 中的 MMMM 模式允许您在目标 locale.

中解析纯文本中的月份