0
내 응용 프로그램에서이 함수를 다루고 있습니다. 나는 다른 시대의 그래픽을 보여줘야한다. 이 기간은 현재 그래프를 스 와이프하여 선택합니다.NSDate 및 DateByAddingComponents 문제
DateComponents를 사용하여 몇 가지 문제가 있습니다. 나는 응용 프로그램을 테스트하고있을 때, 나는 dateByAddingComponents 편집 한 날짜를 표시하고,이 콘솔이 다음과 같습니다 당신이 볼 수있는, 시간의 때때로 변화
Date : 2009-12-14 10:06:13 GMT
Date : 2009-11-13 10:06:13 GMT
Date : 2009-10-12 09:06:13 GMT
Date : 2009-09-11 09:06:13 GMT
Date : 2009-08-10 09:06:13 GMT
Date : 2009-07-09 09:06:13 GMT
Date : 2009-06-08 09:06:13 GMT
Date : 2009-05-07 09:06:13 GMT
Date : 2009-04-06 09:06:13 GMT
Date : 2009-03-05 10:06:13 GMT
Date : 2009-02-04 10:06:13 GMT
Date : 2009-01-03 10:06:13 GMT
Date : 2008-12-02 10:06:13 GMT
Date : 2008-11-01 10:06:13 GMT
Date : 2008-09-30 09:06:13 GMT
Date : 2008-08-29 09:06:13 GMT
하지만 가장 큰 문제는있다 (2008 년 10 위).
이러한 작업을 위해 구현 된 코드가있다 :
if (currentPosition.x > gestureStartPoint.x) {
switch (self.segmentedControl.selectedSegmentIndex) {
case 0:
[dateComponents setDay:-1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
case 1:
//NSLog(@"before : %@", date);
[dateComponents setMonth:-1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
case 2:
//NSLog(@"before : %@", date);
[dateComponents setYear:-1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
default:
break;
}
}
else if(currentPosition.x <= gestureStartPoint.x){
switch (self.segmentedControl.selectedSegmentIndex) {
case 0:
[dateComponents setDay:1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
case 1:
[dateComponents setMonth:1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
case 2:
[dateComponents setYear:1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
NSLog(@"Date : %@", date);
break;
default:
break;
}
}
내가 그것을 어떻게 해결할 수는 ???
시간에 대한 표시에 감사드립니다. 그 달 동안, 나는 하루 만에 어느 정도 줄어들 었는지 모르겠다. 나는 엔트리 클래스를 다시 읽는 것을 끝내었고 나는 그런 종류의 실수를 보지 못했다. 내가 dateComponents ([dateComponents setDay : 0], setMonth : 1, setYear : 0 다음에 dateByAddingComponents를 붙이면) 오류가 계속 실행됩니다 ... – clement
사실, 사용 후 dateComponents를 0으로 설정해야했습니다. 그렇지 않으면 날짜 구성 요소에 대한 모든 수정 사항이 저장되고 다시 작성됩니다. – clement