Objective-c 中的 NSDateFormat 问题

NSDateFormat issue in Objective-c

我通过 soap 网络服务从服务器端获取日期,我使用下面的代码来形成日期

 NSString *dateString = @"2017-01-16T11:34:23.2424222+05:30";
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    NSString *formatedDate = [self applyTimezoneFixForDate:dateString];
    dateFormat.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZZZZZ";
    NSDate *date = [dateFormat dateFromString:formatedDate];

    NSLog(@"Parsed date is %@", date);

但是它返回的是 nil 值。 有人知道编译此日期的正确日期格式吗?

更新

我从网络服务中获得了两种不同的日期类型格式。 实际上服务器端发送 1/16/2017 11:34:23 AM 日期并在 xml 解析后从应用程序端发送我得到 2017-01-16T 11:34:23.2424222+05:30,在 7/4/2015 5:21:47 AM 日期的同一服务中,我正在获取 2015-07-04T05:21:47.083 ,

我担心的是,是否可以通用化日期格式并将所有日期字符串格式转换为 NSDate?

您还没有在 dateFormate 中添加 millisecond 甲酸盐,因此请将其更改为 yyyy-MM-dd'T'HH:mm:ss.SZ。整个可能会像。

NSString *dateString = @"2017-01-16T11:34:23.2424222+05:30";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
NSString *formatedDate = [self applyTimezoneFixForDate:dateString];
dateFormat.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SZ";
NSDate *date = [dateFormat dateFromString:formatedDate];

NSLog(@"Parsed date is %@", date);