更改iOS上的日期格式

时间:2012-06-25 12:26:41

标签: ios date format

我有这种格式的日期:

2012-06-26 12:00:00 +0000

我想要做的是以这种格式转换它们:

Jun 26, 2012 12:00:00 AM

有没有一种简单的方法可以在obj-c上执行此操作,或者我必须解析所有硬核,并为此创建自己的函数?如果是,任何想法如何看起来像,因为我是iOS新手。 非常感谢您阅读我的帖子:D

2 个答案:

答案 0 :(得分:6)

要将1个字符串转换为另一个字符串,请使用以下

NSString *inputString = @"2012-06-26 12:00:00 +0000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss z"];//input

NSDate *date = [formatter dateFromString:inputString];

[formatter setDateFormat:@"MMM dd, yyyy hh:mm:ss a"];
NSString *outputString = [formatter stringFromDate:date];
NSLog(@"output : %@",outputString);

答案 1 :(得分:1)

首先,您应该在NSDate中转换您的字符串(使用NSDateFormatter),然后将其转换回具有目标格式的NSString(仍具有相同的NSDateFormatter)。

以下是NSDateFormatter的示例:

NSString *dateString = @"2013-04-01T22:00:00Z";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
[dateFormatter setTimeZone:[NSTimeZone defaultTimeZone];
NSDate *theDate = [dateFormatter dateFromString:dateString];