我需要显示人类可读的NSDate本地化格式。如何使用NSDateFormatter显示人类可读的NSDate
目前,NSDateFormatter一次只能格式化一个日期。
但是,我可以找到关于如何做两种日期格式的任何示例。
以下是我需要制作的一些格式示例。
10:00 - 11:00 AM 星期一2013年3月25日
10:00 AM - 11:00 PM 星期一2013年3月25日
以及这些需要以本地化格式取决于语言环境和时区。
任何人都可以在这里遮挡一些灯光吗?非常感谢你。
我需要显示人类可读的NSDate本地化格式。如何使用NSDateFormatter显示人类可读的NSDate
目前,NSDateFormatter一次只能格式化一个日期。
但是,我可以找到关于如何做两种日期格式的任何示例。
以下是我需要制作的一些格式示例。
10:00 - 11:00 AM 星期一2013年3月25日
10:00 AM - 11:00 PM 星期一2013年3月25日
以及这些需要以本地化格式取决于语言环境和时区。
任何人都可以在这里遮挡一些灯光吗?非常感谢你。
无论你如何处理这个问题,你将不得不采取两个字符串并将它们结合在一起。
当它归结到它,你最终有两个日期:
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
有了这个,你可以使用它们来创建两个日期1串和date2字符串,然后将它们结合起来。
NSString *firstString = [timeOnlyDateFormatter stringFromDate:firstDate];
NSString *secondString = [fullDateFormatter stringFromDate:secondDate];
NSString *combined = [NSString stringWithFormat:@"%@ - %@", firstString, secondString];
就我所知,没有真正的方法可以做到这一点。
是的,我以前想过这个解决方案,但我坚持使用本地化的一部分。上述解决方案在格式固定时很好。但是,对于我的情况,我需要根据所用的时区和区域设置对其进行本地化。所以,格式不能修复。 – user2205732 2013-03-24 23:46:03
您可以根据区域设置更改格式。你仍然需要使用一个NSDateFormatter或滚动你自己的(这不完全是一个简单的努力) – Malaxeur 2013-03-28 05:04:47
有时你必须编写自己的代码。 – 2013-03-25 00:15:24