Ios NSDateFormatter同时使用locale和dateFormat有意义吗?
这有意义吗?我认为dateFormat本身精确地指定了输出,不是吗?如果需要解析日期,可以同时使用这两种格式:Ios NSDateFormatter同时使用locale和dateFormat有意义吗?,ios,nsdateformatter,Ios,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: enDateS
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
模式允许您在目标区域设置中以纯文本形式解析月份
请澄清您的问题。不清楚。当你说“local”时,你真的是指“locale”吗?对不起,是的,locale
。在向用户显示日期时,无论使用哪种语言环境,都不应该使用dateFormat
。使用dateStyle
和timeStyle
。设置区域设置和使用dateFormat
在很大程度上是矛盾的。仅在需要解析固定格式日期字符串或需要生成固定格式字符串以发送到服务器或类似对象时使用dateFormat
。您知道,使用此字符串local
有意义吗?这里没有纯文本或类似格式的月份,只有数字:dd/MM/yyyy HH:MM
@János当您使用这样的固定格式时,您需要使用特殊区域设置en_US_POSIX
。Hi@rmaddy!为什么?@János-See