在Objective-C中优雅地实现相对日期范围

时间:2017-05-15 13:48:12

标签: objective-c datetime localization nsdate

我想为我的用户显示日期范围。我需要一些聪明的东西,但是本地化无关的方法只显示范围的必要部分,如下所示:

2017-jan-1 to 2017-feb-22017-jan-1 to feb-2

2017-jan-1 to 2017-jan-22017-jan-1 to 2

2017-jan-1 to 2018-jan-22017-jan-1 to 2018-jan-2

我可以编写几个if来检查组件是否相同,但后来我必须手工编写格式字符串,这是我不想要的,因为其他本地化需要其他月/日订单

是否有类似于doesRelativeDateFormatting的系统API或CocoaPods库?你会怎么做?

1 个答案:

答案 0 :(得分:1)

NSDateFormatter方法+dateFormatFromTemplate:options:locale:解决了您认为您的方法失败的问题。给出一个模板,指定您希望包含的日期部分; Apple使用的例子是日期名称,日期和月份;它返回区域设置和用户首选项的适当格式字符串。

HTH