重複の可能性:
NSDateFormatter が正しく表示されない
次の手法を使用して日付のみに変換する NSDate を使用しています。
+ (NSDate *) dateOnly:(NSDate *)date
{
long time = [date timeIntervalSinceReferenceDate];
long timeMod = time % kNumSecondsInDay;
NSTimeInterval newTime = time - timeMod;
return [[NSDate alloc] initWithTimeIntervalSinceReferenceDate:newTime];
}
これは私に期待される結果を与えています:
NSLog(@"Due Date:%@", _dueDate);
--> 期日: 2012-11-21 00:00:00 +0000
ただし、日付フォーマッターを使用すると、1日前になります。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterShortStyle];
NSString *result = [formatter stringFromDate:_dueDate];
NSLog(@"Result: %@", result);
--> 結果: 2012 年 11 月 20 日
何を与える?