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

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

我得到的日期字符串是2014-01-08T21:21:22.737 + 05:30这种格式.我如何将其授予NSDate?

我试过了:

       NSString *currentDateString = @"2014-01-08T21:21:22.737+05:30";
       [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS+05:30"];
       NSDate *currentDate = [dateFormatter dateFromString:currentDateString];

       NSLog(@"CurrentDate:%@", currentDate);
Run Code Online (Sandbox Code Playgroud)

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

Jav*_*vid 22

使用此代码它工作正常你dateFormatter错了.

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

NSString *currentDateString = @"2014-01-08T21:21:22.737+05:30";
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"];        
NSDate *currentDate = [dateFormatter dateFromString:currentDateString];

NSLog(@"CurrentDate:%@", currentDate);
Run Code Online (Sandbox Code Playgroud)

快乐的编码!!!!!!!!!!


rck*_*nes 13

您的日期格式包含一个时区作为文字:yyyy-MM-dd'T'HH:mm:ss.SSS+05:30+05:30它的时区定义.你应该解析它Z.

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
NSString *currentDateString = @"2014-01-08T21:21:22.737+05:30";
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"];
NSDate *currentDate = [dateFormatter dateFromString:currentDateString];

NSLog(@"CurrentDate:%@", currentDate);
Run Code Online (Sandbox Code Playgroud)


小智 5

NSString *p=@"2014-01-08T21:21:22.737+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)