0

我有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 ,而不是格式化日期。可能是什么问题?

4

3 回答 3

1

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

[dateFormatter setDateFormat:@"yyyy-MM-dd"];
于 2012-09-25T09:39:09.483 回答
0

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

[dateFormatter setDateFormat:@"yyyy-MM-dd"];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];
[dateFormatter dateFromString:@"2012-September-21"];
于 2012-09-25T09:44:19.110 回答
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];
于 2012-09-25T09:49:14.300 回答