1

我需要显示人类可读的 NSDate 本地化格式。

目前,NSDateFormatter 一次只能格式化一个日期。

但是,我可以找到任何关于如何进行两种日期格式的示例。

以下是我需要制作的一些格式示例。

  1. 2013 年 3 月 25 日星期一上午 10:00 - 11:00

  2. 2013 年 3 月 25 日星期一上午 10:00 - 晚上 11:00

而且这些需要采用本地化格式,取决于语言环境和时区。

有人可以在这里遮光吗?非常感谢。

4

1 回答 1

2

无论您将如何处理,您都必须使用两个字符串并将它们组合在一起。

归根结底,您最终有两个日期:

10:00 - 11:00AM Monday 25th March, 2013
^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Date1   Date2

您可以使用两个单独NSDateFormatter的对象来满足您的需求。

NSDateFormatter *timeOnlyDateFormatter = [[NSDateFormatter alloc] init];
//... set the format for the timeOnlyDateFormatter here
NSDateFormatter *fullDateFormatter = [[NSDateFormatter alloc] init];
//.. set the format for the fullDateFormatter here

有了这个,您可以使用它们来创建 Date1 字符串和 Date2 字符串,然后将它们组合起来。

NSString *firstString = [timeOnlyDateFormatter stringFromDate:firstDate];
NSString *secondString = [fullDateFormatter stringFromDate:secondDate];
NSString *combined = [NSString stringWithFormat:@"%@ - %@", firstString, secondString];

据我所知,没有真正漂亮的方法可以做到这一点。

于 2013-03-24T23:30:02.363 回答