我有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 ,而不是格式化日期。可能是什么问题?
我有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 ,而不是格式化日期。可能是什么问题?
由于您的 sDate = @"2012-September-21",它在您的字符串sDate中没有时间(小时分钟和秒)。所以你应该像这样设置你的格式
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
您没有将时间包含在字符串中。您还需要修复语言环境:
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];
[dateFormatter dateFromString:@"2012-September-21"];
从您的问题来看,尚不清楚输入是什么,但我已经用下面给定的输入进行了测试,它正在工作
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];