我对objective-c很新,我将一个日期存储在sqlite表中作为整数,例如20131017(代表2013年10月17日)。我希望以2013年10月17日的格式向用户显示此内容,但是当我记录它时,我的代码会生成null。
毫无疑问,我缺少一些非常基本的东西 - 但对于我的生活,我看不到它。
以下是代码:
_fromDate.text = _startDate; //e.g.20131017 (representing Oct 17, 2013)
NSString *dateString =[NSString stringWithFormat:@"%d", [_fromDate.text intValue]];
NSLog(@"dateString: %@", dateString);// shows 20131017 ok
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, yyyy"];
NSDate *date = [dateFormat dateFromString:dateString];
NSLog(@"date: %@", date); //produces a nil result
感谢任何帮助。 THX。
答案 0 :(得分:2)
使用这段代码:
[dateFormat setDateFormat:@"MMM dd, yyyy"];
NSDate *date = [dateFormat dateFromString:dateString];
你说的是:
但字符串不是那种格式,所以它不起作用。
格式实际上是:@"yyyyMMdd"
(或类似的东西,我没有规格可以提供)。
你真的需要2种格式(和2种格式化程序)......