我在字符串格式广告“2012-04-11T07:51:10 + 0000”中获取日期&我想将它转换为NSDate为“11-04-2012”。我不明白如何使用“setDateFormat”。
这就是我在做的事 - [dateFormatter setDateFormat:@“yyyy” - 'MM' - 'dd'T'HH':'mm':'ss'+'zzzz“];
请帮忙。
无论NSDate我会得到什么,我再次想转换为字符串ie。只有11-04-2012。 我在ggl上搜索过。但没有令人满意的结果:(
请帮忙。
答案 0 :(得分:0)
以下是解析字符串以生成日期的方法:
NSString *dateString = @"2012-04-11T07:51:10+0000";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyy-MM-dd'T'HH:mm:ssZ";
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"Date: %@", date);
现在您可以按如下方式生成日期的新字符串表示形式:
formatter.dateFormat = @"dd-MM-yyyy";
NSString *newDateString = [formatter stringFromDate:date];
NSLog(@"New string: %@", newDateString);
// 11-04-2012
您使用的dateFormat
的问题是您不必转义所有符号,例如'MM'
,并且zzzz
不是解析时区的正确符号类型为+0000
。
有关详细信息,请查看此documentation。
答案 1 :(得分:0)
试试这段代码。
NSString *dateStr = @"Wed, 22 Jun 2011 12:36:00 +0100"; // change value base on your requirement.
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EEE, d MMM yyyy HH:mm:ss ZZZ"]; // Change format base on dareStr.
NSDate *date = [dateFormat dateFromString:dateStr];
// Convert date object to desired output format
[dateFormat setDateFormat:@"EEE, MMM d YYYY"]; // Change format base on your output requirement
dateStr = [dateFormat stringFromDate:date];
NSLog(@"Date -- %@",dateStr);
[dateFormat release];