Nsdate 总是 returns null

Nsdate always returns null

因为我从服务器得到的响应看起来像这样-(StartTime = "19/02/2016 13:52") 我想用这个替换这个字符串 - (StartTime = "19/02 /2016 at 01:52 PM")...我想在末尾附加 AM/PM,我正在使用此代码...

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm"];
NSDate *date = [[NSDate alloc]init];
date = [dateFormatter dateFromString:userRide.journeyStartTime];
[dateFormatter setDateFormat:@"MM/dd/yyyy 'at' HH:mm a"];
NSLog(@"date1 : %@", date);
NSString *string = [dateFormatter stringFromDate:date];

但是 nsdate 总是返回 null... 请帮助...

您混淆了日期和月份,要获得 真实 AM/PM,您必须将小时设置为 12 小时格式。

...
[dateFormatter setDateFormat:@"dd/MM/yyyy HH:mm"];
...
[dateFormatter setDateFormat:@"dd/MM/yyyy 'at' hh:mm a"];
...

19 不能是一个月,所以你必须在 @"MM/dd/yyyy HH:mm"

中切换 month/day