我正在使用SeatGeek API,它们的日期以下列格式返回:
"date_tbd" = 0;
"datetime_local" = "2014-02-08T19:15:00";
"datetime_tbd" = 0;
"datetime_utc" = "2014-02-09T01:15:00";
我正在尝试将它们转换为更易读的内容,例如1月18日。我的代码如下:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[dateFormatter setDateFormat:@"yyyy-MM-ddTHH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:fullDateTime];
[dateFormatter setDateFormat:@"Mmm dd"];
cell.eventDate.text = [dateFormatter stringFromDate:date];
但是,日期为空。因此,eventDate标签显示为空白。
有什么想法?我发现自己经常与这些DateFormatters斗争。感谢。
答案 0 :(得分:3)
字母T
应按字面匹配,因此必须附上
在第一个日期格式的单引号中:
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
第二种日期格式应为
[dateFormatter setDateFormat:@"MMM dd"];
使用MMM
代替Mmm
作为月份缩写。