1

可能重复:
如何确定语言环境的日期格式是月/日还是日/月?

我现在挣扎了一段时间,我被困住了!我要么需要格式为“mm-dd-yyyy”或“08-25-2012”的本地格式化模式日期字符串。我该怎么做?使用dateFormat?请帮我!

4

2 回答 2

10

NSDateFormatter 有一个方便的类方法:

[NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterNoStyle];

您可以指定 NSDateFormatterNoStyle、..ShortStyle、..MediumStyle 或..LongStyle

于 2012-08-26T12:47:45.800 回答
3

您可以将 NSDateFormatter 与 MM-dd-yyyy 一起使用,然后使用应用于格式化程序的 NSTimeZone 来调整本地时区。

这个:

NSDate *date = [[NSDate alloc] init];
NSLog(@"%@", date);

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM-dd-yyyy hh:mm"];
NSString *dateString = [dateFormatter stringFromDate:date];

NSLog(@"%@", dateString);

NSTimeZone *timeZone = [NSTimeZone localTimeZone];
[dateFormatter setTimeZone:timeZone];
NSLog(@"adjusted for timezone: %@", [dateFormatter stringFromDate:date]);

输出:

2012-08-26 08:30:53.741 Craplet[2585:707] 2012-08-26 12:30:53 +0000
2012-08-26 08:30:53.742 Craplet[2585:707] 08-26-2012 08:30
2012-08-26 08:30:53.743 Craplet[2585:707] adjusted for timezone: 08-26-2012 08:30
于 2012-08-25T20:20:09.900 回答