2012-01-20 2 views

답변

3

[NSDate date]은 현재 날짜를 반환합니다. 그러나 NSDate에는 자체 시간대가 없으며 절대 시간대 일뿐입니다. 시간대는 날짜를 문자열로 표시하거나 날짜 구성 요소 (일, 월, 시간 등)로 변환 할 때만 작용합니다.

NSDateFormatter을 사용하면 현재 표준 시간대의 날짜를 나타내는 문자열을 가져 오거나 setTimeZone:을 날짜 포맷터에서 사용하여 다른 날짜를 지정할 수 있습니다. NSLog을 단순히 사용하면 날짜가 암시 적으로 날짜 개체에 description을 호출하여 UTC 표준 시간대로 표시됩니다.

NSCalendar 방법 components:fromDate:을 사용하면 "이 두 날짜가 같은 시간대에 같은 날입니까?"와 같은 일반적인 비교를 위해 날짜에서 개별 구성 요소 (특정 시간대와 함께)를 추출 할 수 있습니다.

+0

하지만 날짜가 필요하기 때문에 문자열을 사용할 필요가 없습니다. 날짜를 비교해야하기 때문에 날짜가 필요합니다 (iPhone과 동일). iPhone에서 바 시간은 10:30이지만 [NSdate date]로 전화하면 09:30이됩니다. – 1110

+0

'NSDate'는 생각할 수있는 것처럼 달력 날짜가 아닌 "특정 시점"입니다. 주어진 시간대에 대해 일, 월, 시간 등을 얻으려면'NSCalendar' 메소드 ['components : fromDate :'] (http://developer.apple.com/library/ios/documentation/Cocoa/)를 사용하십시오. 참조/Foundation/Classes/NSCalendar_Class/Reference/NSCalendar.html # // apple_ref/occ/instm/NSCalendar/components : fromDate :). 자세한 내용을 보려면 다음 날짜를 사용하여 [이 기사] (http://oleb.net/blog/2011/11/working-with-date-and-time-in-cocoa-part-1/)를 읽는 것이 좋습니다. 코코아. – omz

0

시스템을 설정해야합니다. GMT 시간과 날짜가 도움이 될 수 있습니다.

관련 문제