如何在iOS中以不同的语言环境格式化日期范围(仅使用一年字符串)?

如何在iOS中以不同的语言环境格式化日期范围(仅使用一年字符串)?,ios,swift,date,localization,nsdateformatter,Ios,Swift,Date,Localization,Nsdateformatter,英文日期字符串:2018年1月18日-1月26日 不正确的韩国日期字符串:2018年1月18日-2018年1月26日 韩语应该发生什么:2018年1月18日-1月26日韩语不完全正确,只是指今年的地点。请参阅已接受的答案以查看正确的韩语日期格式 现在,这需要日期格式化程序,但您必须硬编码哪个日期格式化程序具有年份,因此韩语日期看起来不正确 在Swift/Objc中,不需要在日期范围的两侧都放置年份字符串,就可以做到这一点吗?使用DateIntervalFormatter: 这导致: 1月18日 

英文日期字符串:2018年1月18日-1月26日

不正确的韩国日期字符串:2018年1月18日-2018年1月26日

韩语应该发生什么:2018年1月18日-1月26日韩语不完全正确,只是指今年的地点。请参阅已接受的答案以查看正确的韩语日期格式

现在,这需要日期格式化程序,但您必须硬编码哪个日期格式化程序具有年份,因此韩语日期看起来不正确

在Swift/Objc中,不需要在日期范围的两侧都放置年份字符串,就可以做到这一点吗?

使用DateIntervalFormatter:

这导致:

1月18日 – 26, 2018 20181.18. ~ 20181.二十六,

输出不完全是您在问题中显示的,但输出适合给定的地区。

使用DateIntervalFormatter:

这导致:

1月18日 – 26, 2018 20181.18. ~ 20181.二十六,


输出不完全是您在问题中显示的,但输出适合给定的区域设置。

为什么不根据用户的区域设置对其进行格式化?我想您误解了问题,我是根据区域设置对其进行格式化,但仅针对个别日期。maddy提出的DateIntervalFormatter解决了我的问题。我不知道那是件事。啊,我明白了。干杯“简在韩语里有效吗?”亚历山大可能没有……我主要指的是今年的订单。正如你在下面的答案中所看到的,真正正确的韩语日期间隔都是数字的。为什么你不根据用户的地区设置格式呢?我想你误解了这个问题,我只是根据地区设置格式,但只针对个别日期。maddy提出的DateIntervalFormatter解决了我的问题。我不知道那是件事。啊,我明白了。干杯“简在韩语里有效吗?”亚历山大可能没有……我主要指的是今年的订单。正如您在下面的答案中所看到的,真正正确的韩语日期间隔都是数字
let sd = Calendar.current.date(from: DateComponents(year: 2018, month: 1, day: 18))!
let ed = Calendar.current.date(from: DateComponents(year: 2018, month: 1, day: 26))!
let dif = DateIntervalFormatter()
dif.dateStyle = .medium
dif.timeStyle = .none
dif.locale = Locale(identifier: "en_US")
let resEN = dif.string(from: sd, to: ed)
dif.locale = Locale(identifier: "ko_KR")
let resKO = dif.string(from: sd, to: ed)