将NSString转换为NSDate将返回nil

时间:2013-10-27 15:56:22

标签: ios objective-c nsdate nsdateformatter

我正在尝试将iOS中的NSString转换为NSDate对象,但我没有获得NSDate对象。当我通过字符串

时,我的日期为零
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"dd MMM,yyyy HH:mm:ss"];

NSString *dateString  = @"2013-10-23 04:04:05";

NSDate *date = [dateFormatter dateFromString: dateString];

我做错了什么?

2 个答案:

答案 0 :(得分:7)

你使用的dateFormat不是我在你的字符串中看到的那个。

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

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString *dateString = @"2013-10-23 04:04:05";

NSDate *date = [dateFormatter dateFromString: dateString];

答案 1 :(得分:1)

你可以做两件事: -

1)更改日期格式,如elio.d在代码

中所述

2)你的日期字符串应该低于你在代码中提到的格式,见下面特定于你的dateformatter然后如果你检查那么你将不会得到nil

   NSString *dateString  = @"23 OCT, 2013    
   04:04:05";