我正在使用 SeatGeek API,它们的日期以下列格式返回:
"date_tbd" = 0;
"datetime_local" = "2014-02-08T19:15:00";
"datetime_tbd" = 0;
"datetime_utc" = "2014-02-09T01:15:00";
我正在尝试将它们转换为更具可读性的内容,例如 Jan 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 作斗争。谢谢。
最佳答案
字母 T
应该按字面匹配,因此必须将其括起来
在第一个日期格式的单引号中:
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
第二个日期格式应该是
[dateFormatter setDateFormat:@"MMM dd"];
用 MMM
代替 Mmm
作为月份缩写。
关于ios - Dateformatter 为特定日期字符串返回 Nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154979/