将 NSString 转换为 NSDate 不起作用



>我已经阅读了日期格式指南,但我仍然无法理解为什么我的日期转换没有按照要求工作。 例如:

NSString *str1 = @"12/20/2013 12:39:55 PM";
NSDateFormatter *dateFo = [[NSDateFormatter alloc] init];
[dateFo setDateFormat:@"MM/dd/YYYY hh:mm:ss a"];
NSDate *serverDate1 = [NSDate date];
serverDate1 = [dateFo dateFromString:str1];

作为回报,我得到的日期为"2013-01-05 07:09:55 +0000"。我已经尝试了很多为什么 NSDate 没有返回正确的日期。

任何帮助将不胜感激。

而不是YYYY在你的dateFormat:中使用yyyy

NSString *str1 = @"12/20/2013 12:39:55 PM";
NSDateFormatter *dateFo = [[NSDateFormatter alloc] init];
[dateFo setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *serverDate1 = [NSDate date];
serverDate1 = [dateFo dateFromString:str1];
NSString *dateWithInitialFormat = @"12/20/2013 12:39:55 PM";
NSDateFormatter *dateFo = [[NSDateFormatter alloc] init];
[dateFo setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *serverDate1 = [NSDate date];
serverDate1 = [dateFo dateFromString:dateWithInitialFormat];

这将为您提供解决方案

最新更新