如何将日期转换为字符串,如“2013-12-23T12:02:01 + 05:30”

时间:2014-01-03 08:06:53

标签: nsdate nsdateformatter

我有字符串“2013-12-23T12:02:01 + 05:30” 我想转换成日期,但我得到的NSDate为零 这是我的代码

        // Convert string to date object
        NSString *dateStr = @"2013-12-23T12:02:01+05:30";
        NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
        [dateFormat setDateFormat:@"yyyy, MM DD 'T' HH:mm:ss Z"];
        NSDate *date = [dateFormat dateFromString:dateStr];

2 个答案:

答案 0 :(得分:2)

您的字符串格式与日期字符串不匹配:

    NSString *dateStr = @"2013-12-23T12:02:01+05:30";
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
    NSDate *date = [dateFormat dateFromString:dateStr];

在您的示例日期中,日期中使用了-,您使用的格式使用。同样DD将为您提供一年中的日期而不是月份。秒和时区偏移后没有空格。

答案 1 :(得分:0)

您需要设置正确的日期格式以匹配日期字符串

NSString *dateStr = @"2013-12-23T12:02:01+05:30";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *date = [dateFormat dateFromString:dateStr];