NSString到NSDate转换问题

时间:2012-09-25 09:36:07

标签: objective-c nsstring nsdate

我有Date is 2012-09-25 09:33:10 +0000,使用

 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
  NSDate *d = [dateFormatter dateFromString:sDate];

// sDate = @“2012-September-21”

但我得到的是nil,而不是格式化日期。可能是什么问题?

3 个答案:

答案 0 :(得分:1)

由于您的sDate = @“2012-September-21”,因此您的字符串 sDate 中没有时间(小时分和秒)。所以你应该像这样设置你的格式

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

答案 1 :(得分:0)

您没有将时间包含在字符串中。您还需要修复语言环境:

[dateFormatter setDateFormat:@"yyyy-MM-dd"];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];
[dateFormatter dateFromString:@"2012-September-21"];

答案 2 :(得分:0)

从你的问题来看,目前尚不清楚输入是什么,但我已经用下面给出的输入测试了它是否正常工作

NSString *dateString = @"2012-09-25 09:33:10";
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init]   autorelease];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSDate *date = [dateFormatter dateFromString:dateString];