Objective c 如何使用NSDateFormatter显示人类可读的NSDate
我需要显示人类可读的NSDate本地化格式 目前,NSDateFormatter一次只能格式化一个日期 但是,我可以找到任何关于如何做两个日期格式的例子 下面是一些我需要制作的格式示例Objective c 如何使用NSDateFormatter显示人类可读的NSDate,objective-c,nsdateformatter,Objective C,Nsdateformatter,我需要显示人类可读的NSDate本地化格式 目前,NSDateFormatter一次只能格式化一个日期 但是,我可以找到任何关于如何做两个日期格式的例子 下面是一些我需要制作的格式示例 上午10:00-11:00 2013年3月25日星期一 上午10:00至晚上11:00 2013年3月25日星期一 此外,这些文件还需要采用本地化格式,具体取决于语言环境和时区 这里有人可以遮光吗?非常感谢。无论您如何处理此问题,都必须将两个字符串组合在一起 归根结底,你最终有两个约会: 10:00 - 11:0
这里有人可以遮光吗?非常感谢。无论您如何处理此问题,都必须将两个字符串组合在一起 归根结底,你最终有两个约会:
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];
据我所知,没有真正漂亮的方法可以做到这一点。是的,我以前想过这个解决方案,但我坚持本地化部分。当格式固定时,上面的解决方案是好的。然而,对于我的情况,我需要根据所使用的时区和语言环境对其进行本地化。因此,格式无法固定。您可以根据区域设置更改格式。您仍然需要使用NSDateFormatter或自行开发(这不是一项简单的工作),有时您必须编写自己的代码。