2 つの日付を比較して、それらの間の時間を判断しようとしています。なぜか1日休みで全部ゲットし続けています。何が原因なのかよくわかりませんが、タイムゾーンだと思いますか? 特に設定する必要はありますか?
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM/dd/yy"];
newAssignment.dueDate = [formatter stringFromDate:self.dueDatePicker.date];
NSDate *today = [NSDate date];
//Difference between dates test
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
int unitFlags = NSDayCalendarUnit;
NSDateComponents *comps = [gregorian components:unitFlags fromDate:today toDate:self.dueDatePicker.date options:0];
newAssignment.daysUntilAssignmentDueInt = [comps day];
//Test to compare dates
NSLog(@"\n\ntoday's date: %@\ndate picked: %@\ndue in: %d\n", today, self.dueDatePicker.date, newAssignment.daysUntilAssignmentDueInt);
私の NSLog 出力:
today's date: 2013-11-03 03:17:26 +0000
date picked: 2013-11-05 04:17:12 +0000
due in: 1
私は、今日のサマータイムの変更がこのすべてを変えるだろうと考えるほどに行ってきました. しかし、私はもうよくわかりません。
編集: 私は StackOverflow に関する他のいくつかの投稿を読みましたが、私が何を経験しているのか誰にも見えないようです。