1

我有一些这种格式的日期:

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

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

Jun 26, 2012 12:00:00 AM

是否有一种简单的方法可以在 obj-c 上执行此操作,或者我必须解析所有核心内容,并为此创建自己的函数?如果是的话,任何想法都会是什么样子,因为我是 iOS 新手。非常感谢您阅读我的帖子 :D

4

2 回答 2

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);
于 2012-06-25T12:31:19.307 回答
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];
于 2012-06-25T12:29:53.777 回答