2010-04-02 4 views
1

NSDate를 사용하는 동안 시간대가 다른 경우가 있습니다. 하지만 로케일이나 시간대 설정을 전혀 사용하지 않습니다. NSDate 객체에서 다른 표준 시간대를 사용하는 이유는 무엇입니까?

때때로 (동일한 프로세스에서)이있는 NSDate 객체는
1.4.2010 22:01:47 +0100 

때로는 나에게 아무것도하지 않고

1.4.2010 22:01:47 +0200 

처럼

처럼 보일 수 있습니다 즉. 시간대 변경을 유발하는 요인은 무엇입니까? 캘린더 계산 (즉, 날짜에 5 개월 추가)은 그렇게해서는 안된다고 생각합니다.

답변

3

일광 절약 시간제입니다. 내 컴퓨터에서 :

NSDate *now=[NSDate date]; 
NSDate *notNow=[now dateByAddingTimeInterval:(86400 * 250)]; // add 250 days 
NSLog(@"%@", now); 
NSLog(@"%@", notNow); 

출력

2010-04-02 17:03:25.386 so[14786:a0f] 2010-04-02 17:03:25 +0100 
2010-04-02 17:03:25.388 so[14786:a0f] 2010-12-08 16:03:25 +0000 

이것은 [date description]에 (숨겨진) 호출에 발생하는 일을 포맷 단지 표시됩니다.

+0

흥미 롭습니다. 나는 일광 절약 시간제에 관해서는 시간대를 옮기는 것을 생각 해본 적이 없다. 알아 둘만한. – dontWatchMyProfile

관련 문제