私は非常に興味深い問題を抱えています。2つの日付の間の日数を計算するとき、私の計算機は3月だけに対して間違った結果を返します。日付ごとに1つずつ、合計2つのテキストフィールドがあります。date1に3/7/12、date2に3/13/12と入力すると、結果は7になります。これは正しいです(初日もカウントしています)。しかし、date1=3/7/12およびdate2=3/14/12と入力すると、結果は7のままですが、8になるはずです。同様に、date1=3/7/12およびdate2=3/23と入力すると/ 12の場合、結果は17になりますが、16になります。date1=4/7/12およびdate2= 4/23/12になるように月を4月に変更すると、結果は17になります。毎月は意図したとおりに機能しています。 、3月だけが私に間違った結果を与えています。誰かが私が欠けているものを知っていますか?これはタイムゾーンの問題ですか?どうすれば修正できますか?これが私のコードです:
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
[dateFormatter1 setDateFormat:@"MM/dd/yyyy"];
NSDate *startdate1 = [dateFormatter1 dateFromString: date1.text];
NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
[dateFormatter2 setDateFormat:@"MM/dd/yyyy"];
NSDate *enddate2 = [dateFormatter2 dateFromString: date2.text];
int start1 = [startdate1 timeIntervalSince1970];
int end2 = [enddate2 timeIntervalSince1970];
double difference12 = end2-start1;
int days12;
days12 =(int)((double)difference12/(3600.0*24.00)+1);
result12.text = [[NSString alloc] initWithFormat:@"%i", days12]