可能重复:
How to determine if locale's date format is Month/Day or Day/Month?
我现在已经挣扎了一段时间而且我被困住了!我要么需要一个“mm-dd-yyyy”或“08-25-2012”形式的本地格式化模式日期字符串。我该怎么做?使用dateFormat
?请帮帮我!
答案 0 :(得分:8)
NSDateFormatter有一个便捷类方法:
[NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterNoStyle];
您可以指定NSDateFormatterNoStyle,.. ShortStyle,.. MediumStyle或..LongStyle
答案 1 :(得分: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