-
[Apple Dev Reference] About Dates and Times 시간/날짜관련 API앱등이에게 살충제를 뿌린다./Apple Dev Reference 2016. 2. 27. 03:20
Apple Developer 문서를 번역만 하였습니다.
About Dates and Times
Date와 time관련 객체들은 인스턴스의 특정 시간에 대한 정보를 참조할 수 있게 해줍니다. Date와 Time관련 객체들을 통해 날짜와 시간을 계산하거나 비교할 수 잇습니다.
At a Glance
날짜와 시간에 관련된 작업을 하는 데에 3개의 주요 클래스가 있습니다.
- NSDate 는 특정 시간 자체를 가리킵니다. (absolute point in time)
- NSCalendar 을 통해 그레고리안(Gregorian) 또는 허브리(Hebrew) 달력과 같은 특수한 달력을 표현할 수 있습니다. 이 클래스에서는 날짜 계산과 관련된 대부분의 인터페이스가 제공되고 또한 NSDate와 NSDataComponents 객체간의 컨버팅도 가능하게 해줍니다.
- NSDateComponents 는 시, 분, 연도, 요일 등과 같은 특정 시점의 요소들을 나타낼 수 있게 해줍니다.
이 클래스들 외에도 NSTimeZone 을 이용하여 지역별 시간에 관련된 정보를 사용할 수 있습니다. 이 작업을 통해 서로 다른 Time Zone의 시간에 관련된 작업을 수행하고 계산하는 작업을 편리하게 해줍니다.
Creating and Using Date Objects to Represent Absolute Points in Time
Date객체는 Cocoa에서 날짜와 시간을 표현하는 객체입니다. Data객체는 지역, 달력과 Timezone을 고려하여 특정 시점의 정보를 나타내는데 사용할 수 있습니다.
관련 챕터 : Dates
Working with Calendars and Date Components
Date Components는 날짜, 월, 연도 등과 같이 날짜 정보를 여러 부분으로 쪼갤 수 있게 해줍니다. Calendars는 그레고리안(Gregorian)달력이나 Chinese달력과 같은 여러 형태의 달력에 대한 계산도 가능하게 해줍니다. Calendar객체는 한 형태의 달력을 다른 달력으로 바꾸어 표현할 수도 있고, Date객체와 Date component객체 간의 컨버팅도 가능하게 해줍니다.
Performing Date and Time Calculations
Calendars와 Date components는 두 날짜사이에 있는 days 또는 hours를 숫자로 계산하거나, 이번주에 일요일이 언제인지를 찾는 등의 계산을 가능하게 해줍니다.
관련 챕터 : Performing Calendar Calculations
Working with Different Time Zones
Time zone 객체는 지역 시간(that is, wall clock)을 나타낼 수 있게 해줍니다. 시간 Offset외에도 서머타임제로 인해 발생하는 차이점에 대해서도 알고 있습니다. 이 객체들을 적절히 사용해주면 지역간 이동을 하면서 서머타임제로 인해서 발생하는 시간 계산착오를 방지할 수 있습니다.
관련 챕터 : Using Time Zones
Special Considerations for Historical Dates
과거의 Date를 표현을 하고자 할 때 수 많은 Edge case가 있어 현재 date로는 표현하기 어려운 경우가 있습니다. 이러한 이슈는 그레고리안(Gregorian)달력에서는 0년이 없는 것과 같이 특정 달력으로 표현하기 어려운 날짜들을 표현해야 하는 상황에서도 동일하게 발생합니다.
관련 챕터 :Historical Dates
How to Use this Document
여러분의 앱에서 Date와 time을 계속 사용해야 한다면 Dates와 Using Time Zones를 읽어 보시길 권장합니다. 이 챕터에 설명되어 있는
NSDate
,NSCalendar
,NSDateComponents
, andNSTimeZone
클래스들을 통해 시간정보를 저장하고 비교하거나 계산할 수 있을 것입니다.과거(특히 1900년대 초 이전의)의 날짜에 대한 정보를 다룬다면 Historical Dates 에서 발생할 수 있는 이슈와 해결방법들에 대해서 알아보시길 권장합니다.
출처:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/DatesAndTimes/DatesAndTimes.html
'앱등이에게 살충제를 뿌린다. > Apple Dev Reference' 카테고리의 다른 글
[Apple Dev Reference - Swift] Failable Initializer (0) 2016.03.30 [Apple Dev Reference] NSURLSession에 대해서 (0) 2016.03.27 [Apple Dev Reference] iOS에서 텍스트 프로그래밍하기 (0) 2016.02.21 [Apple Dev Reference] KVO - Key-Value Observing Programming Guide (2) 2016.01.17 [Apple Dev Reference] 앱 라이프사이클 The App Life Cycle (3) 2016.01.10