NSDateFormatter不适用于Twitter日期

Con*_*ley 1 string nsdate nsdateformatter ios sttwitter

我正在尝试使用STTwitter库格式化我从twitter获得的日期.

但是到目前为止我尝试过的代码没有用.

从twitter获取日期的代码:

NSString *dateString = [status valueForKey:@"created_at"];
Run Code Online (Sandbox Code Playgroud)

这将返回发送推文的时间,日期,时区和年份,这看起来很混乱.

我尝试使用以下代码进行转换并使其更整洁:

NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MMddHHmm"];

NSDate *dateFromString = [dateFormatter dateFromString:dateString];
NSLog(@"%@", dateFromString);


dateFormatter =[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd MMMM' at 'hhmm a"];
NSString *mydate=[dateFormatter stringFromDate:dateFromString];
Run Code Online (Sandbox Code Playgroud)

然后尝试将结果放在文本标签中:

cell.detailTextLabel.text = my date;
Run Code Online (Sandbox Code Playgroud)

我尝试过日期格式化程序的许多不同变体,但没有一个有效,我不知道为什么.

谢谢你的帮助 :)

rck*_*nes 11

您使用的日期格式甚至不接近结果中使用的日期字符串,类似于Fri Nov 18 20:35:49 +0000 2011.

NSString *dateStr = @"Fri Nov 18 20:35:49 +0000 2011";

NSDateFormatter *dateFormatter= [NSDateFormatter new];
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss Z yyyy"];

NSDate *date = [dateFormatter dateFromString:dateStr];
Run Code Online (Sandbox Code Playgroud)

真正的诀窍在于使用的语言环境,因为日期本地化为英语.