-3

我对objective-c 很陌生,我有一个以整数形式存储在sqlite 表中的日期,例如20131017(代表2013 年10 月17 日)。我想以 2013 年 10 月 17 日的格式向用户显示此内容,但我的代码在记录时产生了一个空值。

毫无疑问,我错过了一些非常基本的东西——但对于我的生活,我看不到它。

这是代码:

_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

感谢任何帮助。谢谢。

4

1 回答 1

2

使用这段代码:

[dateFormat setDateFormat:@"MMM dd, yyyy"];
NSDate *date = [dateFormat dateFromString:dateString];

你是说:

  1. 这是我的日期格式
  2. 将此字符串(我刚才告诉您的格式)转换为日期

但是字符串不是那种格式,所以它不起作用。

格式实际上是:(@"yyyyMMdd"或类似的东西,我手头没有规范)。

你真的需要 2 种格式(和 2 种格式化程序)...

  1. 将存储的字符串转换为日期的格式
  2. 将日期转换为显示字符串的格式(这是您已有的格式)
于 2013-10-17T21:03:29.050 回答