我知道之前已经问过这个问题(最值得注意的是:Converting NSString to NSDate (and back again)),但我遇到了困难。我正在使用RSS提要解析器,它以这种格式返回日期:
Fri, 23 Nov 2012 15:39:00 -0800
我希望将其转换为以下格式:
Nov. 23 2012
用这样格式化的单独时间:
3:39:00 PM
以下是我目前的代码:
NSString *RSSDate1=@"Fri, 23 Nov 2012 15:39:00 -0800";
NSDateFormatter *RSSDateFormatter = [[NSDateFormatter alloc] init];
[RSSDateFormatter setDateFormat:@"D, d M Y H:i:s O"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [RSSDateFormatter dateFromString:RSSDate1];
[RSSDateFormatter release];
NSDateFormatter *RSSDateFormatter2=[[NSDateFormatter alloc] init];
[RSSDateFormatter2 setDateStyle:NSDateFormatterShortStyle];
UIAlertView *dateAlert=[[UIAlertView alloc] init];
[dateAlert setTitle:[RSSDateFormatter2 stringFromDate:dateFromString]];
[dateAlert addButtonWithTitle:@"Dismiss"];
[dateAlert show];
[dateAlert release];
现在,字符串返回nil,所以我打赌我的格式是关闭的。任何帮助,将不胜感激。谢谢!
答案 0 :(得分:1)
您可以尝试使用此配置的NSDateFormatter将当前日期(现在)转换为NSString并打印出字符串。查看输出的格式并将其与您想要的格式进行比较。这些差异应该可以让您了解需要更改的内容以获得所需的格式。
答案 1 :(得分:0)
将其更改为,
NSString *RSSDate1 = @"Fri, 23 Nov 2012 15:39:00 -0800";
NSDateFormatter *RSSDateFormatter = [[NSDateFormatter alloc] init];
[RSSDateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzzzz"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [RSSDateFormatter dateFromString:RSSDate1];
NSLog(@"dateFromString = %@", dateFromString);
[RSSDateFormatter release];
NSDateFormatter *RSSDateFormatter2 = [[NSDateFormatter alloc] init];
[RSSDateFormatter2 setDateFormat:@"MMM dd, yyyy hh:mm aaa"];
NSLog(@"dateToString = %@", [RSSDateFormatter2 stringFromDate:dateFromString]);
UIAlertView *dateAlert = [[UIAlertView alloc] init];
[dateAlert setTitle:[RSSDateFormatter2 stringFromDate:dateFromString]];
[dateAlert addButtonWithTitle:@"Dismiss"];
[dateAlert show];
[dateAlert release];
<强>输出:强>
dateToString = 2012年11月23日下午03:39
请注意,“星期五,2012年11月23日15:39:00 -0800”的格式为“EEE,dd MMM yyyy HH:mm:ss zzzzz”和“2012年11月23日03:39 PM”的格式“MMM dd,yyyy hh:mm aaa”。格式中的每个字母代表日期字符串中的相应单词。例如: - EEE用于周五,aaa用于PM等。检查this for more information如何进行格式化。