콘텐츠로 건너뛰기
Home » NSDate

NSDate

날짜와 시간을 다루기 – Swift Date/Time

날짜와 관련된 계산은 사실 알고보면 굉장히 복잡하고 어려운 작업이다. 날짜와 시간의 상관관계에 대해서 몇 가지 규칙들을 나열해보면 우리가 일상적으로 사용하는 날짜나 시간에 관한 규칙이 사실은 엄청나게 복잡하다는 것을 알게 된다. 기본적으로 초(second)를 가장 기본적인 시간의 단위로 생각한다. (더 작은 단위로 밀리초나 나노초가 있지만, 이들은 10진법 기반이므로 따로 생각하지 않아도 된다.) 초와 분은 60도법으로 계산된다. 60초는 1분, 60분은 1시간이다. 하루는 24시간으로 이루어진다. (그리고 놀랍게도 시계가 표시하는 시간은 지구상에서의 위치에 따라 또 다르다.) 사실 여기까지 생각했을 때는 별로 어렵지 않다. 하지만 날짜가… 더 보기 »날짜와 시간을 다루기 – Swift Date/Time

날짜와 시간을 다루기(Swift)

날짜와 시간 다루기 (Swift)

Swift에서 날짜와 시간을 다루는 방법은 Foundation 프레임워크의 NSDate, NSCalendar, NSDateFormatter, NSDateComponents 등을 사용하게 되므로 Objective-C의 그것과 약간의 문법 차이만 있을 뿐이다.

날짜 계산의 기본 개념

날짜 계산의 단위가 되는 객체는 NSDate이다. 이 클래스는 특정한 시점을 가리키는 정보를 담고 있다. 기본적으로는 기준일시로부터 몇초가 지났는지를 담아서 타임라인 상의 특정한 지점을 가리키게 된다.
Foundation에서 NSDate는 특정한 시점을 가리키는 포인터에 지나지 않는다. 다른 언어들의 date/datetime 객체와 달리 NSDate 클래스 자체로부터 이 날이 무슨 요일인지 등의 정보는 구할 수 없다. 그 이유는 Foundation은 특정 국가나 문화권에 종속되는 규격이 아니기 때문에 어떤 로케일을 적용하느냐에 따라서 한달의 길이라든가 그런 것들이 다를 수 있기 때문이다. 더 보기 »날짜와 시간을 다루기(Swift)

(Cocoa) 날짜와 시간을 다루기

updated

Swift를 사용해서 Date를 다루는 방법은 새로 작성된 글을 참고하세요.
 

들어가며

날짜와 시간을 위한 프로그래밍을 위해서는 기본적으로 NSDate를 사용한다. NSDate는 2001년 1월 1일 자정을 기점으로 현재시간 (혹은 특정 시점)까지의 초단위로 경과한 시간을 저장하고 있는 객체이다.(Epoch가 아니라 21세기의 시작시점을 기준으로 하고 있다!) 이렇게 단순히 누적된 초 시간으로는 두 시점의 선/후 관계를 파악하는 등의 단순 비교 작업은 가능하지만, 구체적인 날짜나 요일에 연관된 작업을 하기는 매우 어렵다. 예를 들어 올해 크리스마스가 무슨 요일인지를 구하는 일은 NSDate 객체 만으로는 사실상 매우 힘들다.
더 보기 »(Cocoa) 날짜와 시간을 다루기