← Lab
UIKit에서 현재 시각을 알아내기 위한 라이브러리
스터디2025.08.26
- UIKit
- Swift
UIKit에서 현재 시각을 얻기 위한 라이브러리 종류
iOS 기본 SDK Foundation에 시간 관련 API가 모두 들어있다.
1. Date
let now = Date()
print(now) // 2025-08-19 08:23:00 +0000 (UTC 기준)
Date | Apple Developer Documentation
Date()는 현재 시각 기준을 반환하지만 UTC 기준 임을 꼭 기억하자.
그러다보니 한국시간(KST) 등 현지 시간 표현을 하기 위해선 DateFormatter나 Calendar와 함께 사용해야한다.
이때 Date 구조체는 순간을 나타내는 시간의 절대값(timestamp)이다.
2. DateFormatter
DateFormatter | Apple Developer Documentation
DateFormatter는 날짜와 시간을 지역화된 문자열 로 변환시켜주는 다양한 설정과 옵션을 제공한다.
만약, Date()사용해 현재 시간을 뽑아왔을 때 시간을 표시하지 않고 월, 일, 연도 등을 표시하고자 하면 아래와 같이 사용하면 된다.
// 아래 코드는 공식문서에 기술된 코드입니다.
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .none
let date = Date(timeIntervalSinceReferenceDate: 118800)
// US English Locale (en_US)
dateFormatter.locale = Locale(identifier: "en_US")
print(dateFormatter.string(from: date)) // Jan 2, 2001
// French Locale (fr_FR)
dateFormatter.locale = Locale(identifier: "fr_FR")
print(dateFormatter.string(from: date)) // 2 janv. 2001
// Japanese Locale (ja_JP)
dateFormatter.locale = Locale(identifier: "ja_JP")
print(dateFormatter.string(from: date)) // 2001/01/02
3. Calendar
calendar | Apple Developer Documentation
Calendar는 Date() 에서 원하는 시간대를 추출할 수 있게 해준다.
만약 시, 분, 초를 뽑아내서 활용하고 싶다면 아래와 같이 작성하면 된다!
let components = Calendar.current.dateComponents([.hour, .minute, .second], from: Date())
if let hour = components.hour,
let minute = components.minute,
let second = components.second {
print("\(hour)시 \(minute)분 \(second)초")
}
💡 실제 적용해보기
Date와 Calendar를 함께 사용하여 현재 시각을 한국 시각 기준으로 불러와보자.
Date 구조체로 뽑아온 시간을 Calendar를 사용해 시, 분, 초만 저장한다.
let timeZone = TimeZone(identifier: "Asia/Seoul")!
let comps = Calendar.current.dateComponents([.hour, .minute, .second], from: Date(), timeZone: timeZone)
// 추후 let hour = compos.hour! 등으로 사용하면 된다.