0

我在字符串格式广告“2012-04-11T07:51:10+0000”中获取日期,我想将其转换为 NSDate 作为“11-04-2012”。我不明白如何为此使用“setDateFormat”。

这就是我正在做的——[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'+'zzzz"];

请帮忙。

无论我会得到什么 NSDate,我都想再次转换为字符串,即。仅 2012 年 11 月 4 日。我在ggl上搜索过。但没有令人满意的结果:(

请帮忙。

4

2 回答 2

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'andzzzz不是解析 type 时区的正确符号+0000

查看此文档以获取更多信息。

于 2012-04-11T10:01:20.357 回答
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];
于 2012-04-11T10:07:19.780 回答