重新格式化表示日期的NSString

时间:2011-03-20 13:48:19

标签: objective-c cocoa nsstring string-formatting

我如何将@“20090302”转换为@“2009/03/02”或@“02/03/2009”?

我找到了解决方案,这是更新

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YYYYMMDD"];



NSDate *date = [formatter dateFromString:yourinoutstring];


[formatter setDateFormat:@"DD/MM/YYYY"];

NSString *outDate = [formatter stringFromDate:date];

1 个答案:

答案 0 :(得分:7)

为此,您需要使用NSDateFormatter

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"YourDateInputFormat"];

通过阅读数据格式指南Date Formatters chapter,您可以了解@"YourDateInputFormat"应该是什么。你从那里得到NSDate

NSDate *date = [formatter dateFromString:yourString];

然后更改格式化程序的格式以提供所需的输出:

[formatter setDateFormat:@"YourDateOutputFormat];

然后你可以转换那个日期并获得你想要的字符串:

NSString *outString = [formatter stringFromDate:date];