Date()나 Date.now나 똑같은 거 아님?

김하민·2024년 12월 12일
5
post-thumbnail

Date()의 타입 프로퍼티 now

Q. 어? 근데 Date()를 그대로 이니셜라이징해도 현재 시간이 나오는 건 똑같지 않나요?

now는 왜 따로 있어요?

이거에 대해서는 배경 지식에 대한 이해가 필요한데요...

길게 설명하면 읽는 사람도 쓰는 사람도 귀찮으니,

세 줄 요약으로 갈음하겠습니다:

  1. 원래는 Date.now가 없었음.

  2. 사람들이 다들 Date의 Extension으로 직접 Date.now를 만들어서 사용함. (Date() 보다 Date.now가 현재시간이라는 것이 명확하니까!)

  3. Swift 5.5에서 정식으로 추가됨. (iOS 15 / macOS 12 이상에서 사용 가능.)

자세한 내용은:
https://stackoverflow.com/questions/78750336/swift-date-vs-date-now-when-to-use-which
https://forums.swift.org/t/date-now-and-other-calendar-thoughts/12853

코드 예시 하나 던져놓고 넘어가겠습니다:

타입 프로퍼티 distantFuture/distantPast

직역하면 먼 미래와 먼 과거입니다.

그리고 말 그대로 먼 미래의 시간과 먼 과거의 시간을 나타냅니다.

얼마나 머냐고요?

2000...년정도?

아니 이런 거 뒀다 어디 써요? 라고 하실 수도 있지만,

캘린더 앱 등에서 지금으로부터 모든 과거/미래의 이벤트를 갖고 오고 싶다 할 때 유용하겠습니다.

다음에 계속...

2개의 댓글

comment-user-thumbnail
2024년 12월 12일

먼 과거와 먼 미래 간 시간은 긴데 이 TIL은 매우 짧군

1개의 답글