iOS

[swift] 오늘이 포함된 일주일 날짜 불러오기 Date(timeIntervalSinceNow:)

D0HAN. 2021. 4. 2. 01:10

프로젝트 하다가 못쓰게 된 코드가 있어서 남겨본다.

오늘이 3월31일 수요일이라면 일주일 시작 날짜(ex.월요일) 부터의 1주일간의 날짜를 불러오는 법이다.

 

let formatter = DateFormatter()
formatter.dateFormat = "MMM-dd-e-EEEE"	//e는 1~7(sun~sat)

let day = formatter.string(from:Date())
let today = day.components(separatedBy: "-") // [0] = MMM, [1] = dd, [2] = e(1), [3] = EEEE(Sunday)
guard let interval = Double(today[2]) else{ return }
startDay = Date(timeIntervalSinceNow: -(86400 * (interval-1))) //시작요일이 월요일일때 -1해줌
startDayString = formatter.string(from: startDay).components(separatedBy: "-")

interval에서 -1을 해주지 않으면 일요일이 일주일의 시작 요일이 된다.