从NSString创建NSDate问题

时间:2014-11-27 12:15:28

标签: ios nsdate nsdateformatter

我已经看过很多解决方案并且在过去2小时内尝试过。 所以我发布我的代码。 我看到Log包含一个Date的NSString一切都很好。

但是当我尝试将其转换为NSDate时。 它返回并记录为null。

这是我的代码

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

NSString *str = @"2014-10-28 00:00:00 AM";    
NSLog(@"Date %@",str);   ////Showing String Date

[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[formatter setDateFormat:@"yyyy/MM/dd hh:mm:ss"];

NSDate *dater = [formatter dateFromString:str];
NSLog(@"Dater %@",dater);     ////Showing null log 

提前致谢。

2 个答案:

答案 0 :(得分:0)

尝试更改

[formatter setDateFormat:@"yyyy/MM/dd hh:mm:ss"];

[formatter setDateFormat:@"yyyy/MM/dd hh:mm:ss a"];

显然,dateformat与日期字符串中的格式不匹配,因为您的字符串包含AM / PM值,格式化程序的格式不包含。

答案 1 :(得分:0)

改变这个:

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