以下是我如何设置它:
self.df = [[NSDateFormatter alloc] init];
[self.df setFormatterBehavior:NSDateFormatterBehavior10_4];
[self.df setDateFormat:@"posted: MM-dd-YYYY"];
以下是我在跟踪中调用它的方式:
NSLog(@"%@, %@, %@, %@", df, post.date, [post.date class], [df stringFromDate:post.date]);
这是输出:
<NSDateFormatter: 0x8440d60>, 2012-02-09 12:40:38 +0000, __NSDate,
它不是空的,它是“”。
具有date属性的post类由核心数据自动生成。我看不出这有什么不同,但它是唯一看起来有点不寻常的东西。
答案 0 :(得分:4)
你不能像那样使用setDateFormat。
我尝试了这段代码并且有效:
[self.df setDateFormat:@"MM-dd-YYYY"];
现在,你可以这样做:
NSString *myString = [NSString stringWithFormat:@"posted:%@", [df stringFromDate:post.date]];
答案 1 :(得分:0)
尝试使用TIME_CONSTANT
进行日期数学运算时遇到了这个问题:
extern NSUInteger SECONDS_IN_A_DAY;
// ...
NSUInteger SECONDS_IN_A_DAY = 86400;
// ...
NSDate *yesterday = [[NSDate date] dateByAddingTimeInterval:-SECONDS_IN_A_DAY];
该日期的结果stringFromDate:
将是@""
。
如果我直接使用86400
而不是常量,那么NSString就可以了。
也许与否定NSUinteger
有关的问题?如果您知道为什么这样不起作用,请发表评论。