对于yyyy-MM-dd'T'HH的NSString到NSDate:mm:ss.+ 05:30格式

kag*_*noj -1 iphone objective-c nsdate nsdateformatter ios

我得到的日期字符串是1991-01-26T00:00:00 + 05:30这种格式来自网络服务.我如何将其授予NSDate?

我试过了:

    NSString *p=@"1991-01-26T00:00:00+05:30";

    NSDateFormatter *dateformat=[[NSDateFormatter alloc]init];

    [dateformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"];

    NSDate *datefor=[dateformat dateFromString:p];

    [dateformat setDateFormat:@"MM-dd-yyyy hh:mm a"];

    NSString *dateStr=[dateformat stringFromDate:datefor];


    NSDate *datetype=[dateformat dateFromString:dateStr];
Run Code Online (Sandbox Code Playgroud)

它返回零.有什么想法吗?

sun*_*ppy 6

问题是你使用了错误的格式.使用

[dateformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZ"];
Run Code Online (Sandbox Code Playgroud)

因为你没有毫秒,所以你不应该添加SSS.