Formatted 이용한 현재 시간
//방법 1.
var someFormatter = DateFormatter()
// Date를 String으로 가져오기
someFormatter.dateFormat = "yyyy-MM-dd-EE HH:mm:ss"
// 나타내고 싶은 "년-월-일-요일 시:분:초"
var currentDate = someFormatter.string(from: Date())
// Date()로 현재시간 불러와서 지정해뒀던 DateFormatter로 변환
print(currentDate)
//방법2.
let currentDate = Date()
// 현재 시간 생성
print(currentDate.formatter())
// formatter()를 이용해 변환 후 출력
print(currentDate.formatter(date: .complete, time: .shortened))
// 나타내고 싶은 날짜 스타일, 시간 스타일 지정 가능
// 날짜: .complete(yyyy년MM월dd일 요일), .long(yyyy년MM월dd일), numeric(MMddyyyy), .omitted(생략)
// 시간: .shortened(오전/오후 시분), .standard(오전/오후 시분초), .omitted(생략)
let locale = Locale(identifier: "en_US")
let dateLocale = currentDate.formatted(.dateTime.locale(locale).day().month().year()
print(dateLocale)
Formatted 이용한 기념일 계산 예시
//방법 1.
func dateCalculator(){
let calendar = Calendar.current
// 달력 생성
let after100Days = DateComponents(day: 99)
// 더해주고 싶은 날 수
let dPlus100 = calendar.date(byAdding: after100Days, to: datePicker.date)
// datePicker에서 받아온 기준 날짜에 더해주고 싶은 날 수 더하기
let year100formatter = DateFormatter()
let day100formatter = DateFormatter()
// Date에서 String 가져오기(yyyy. MM. DD. HH:MM)
year100formatter.dateFormat = "yyyy"
day100formatter.dateFormat = "MM. dd."
// 년, 월, 일 따로 불러올 형식 지정 가능
years100Label.text = year100formatter.string(from: (dPlus100!))
date100Label.text = day100formatter.string(from: dPlus100!)
// 텍스트에 삽입
}
//방법 2.
func practiceDateFormatter(){
dateLabel.text = Date().addingTimeInterval(60*60*24*100).formatted(date: .long, time: .omitted)
}