字符串到NSDate转换不正确

时间:2015-01-29 06:34:57

标签: ios objective-c iphone ios7

NSString *str=@"2015-01-01 00:00:00”;

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
[dateFormatter setLocale:[NSLocale currentLocale]];
[dateFormatter setFormatterBehavior:NSDateFormatterBehaviorDefault];

NSDate *dtConverted = [dateFormatter dateFromString:str];
if (dtConverted==nil) {
    dtConverted=nil;
}
return dtConverted;

如果我的str = 2015-01-01 00:00:00然后日期返回2014-12-31 18:30:00 +0000 如果我的str = 0000-00-00 00:00:00然后日期返回null

请帮我解决我的问题。需要和我在字符串中的日期相同。

1 个答案:

答案 0 :(得分:0)

NSString *str= @"2015-01-01 00:00:00";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *dtConverted = [dateFormatter dateFromString:str];
if (dtConverted==nil) {
    dtConverted=nil;
}
return dtConverted;

它的工作非常好,如果你想24小时格式使用HH:mm:ss而不是hh:mm:ss