NSDateFormatter:如何阅读三月份的日期

时间:2011-03-18 01:57:34

标签: iphone objective-c ios4

NSDateFormatter可用于从日期字符串构造NSDate实例。 除了使用三月的日期字符串之外,这是有效的,其中使用了MMM月份格式。

NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
[fmt setDateFormat:@"dd-MMM-yyyy"];
NSDate *aDate = [fmt dateFromString:dateString];
[fmt release];

例如,dateString值:

  • @“2011年1月29日”作品
  • @“04-Feb-2011”作品
  • @“2011年3月20日”不起作用!产生的NSDate实例aDate为nil

这是iOS SDK 4.3中的错误还是格式化程序期望March的缩写不同?

1 个答案:

答案 0 :(得分:1)

我无法重现这个:

NSString *dateString = @"20-Mar-2011";
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
[fmt setDateFormat:@"dd-MMM-yyyy"];
NSDate *aDate = [fmt dateFromString:dateString];
[fmt release];
NSLog(@"date=%@", aDate);

输出:

2011-03-17 22:04:39.798 Untitled[18025:207] date=2011-03-20 04:00:00 +0000

您是否可以将区域设置设置为英语以外的其他内容?