2017-05-15 21 views
0

我想为我的用户显示一个日期范围。我需要为只显示区域端部的必要部分像这样聪明,但本地化独立的方法:Objective-C中相对日期范围的优雅实现

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 s来检查组件是否相同,但然后我不得不手动编写格式字符串,我不想要因为其他本地化需要oth呃月/日订单。

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

回答

1

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

HTH

+0

在'template'应指定的确切格式(包括该punctation并序)日期字符串的,还是我错过了什么? – gklka

+0

您遗漏了一些东西,查看方法描述中的示例,并按照格式指南的链接。 – CRD