DateFormatter
날짜만 표현하고 시간은 표현 X 경우
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .none
// US English Locale (en_US)
dateFormatter.locale = Locale(identifier: "en_US")
print(dateFormatter.string(from: date)) // Jan 2, 2001
// US English Locale (en_US)
dateFormatter.locale = Locale(identifier: "en_US")
dateFormatter.setLocalizedDateFormatFromTemplate("MMMMd") // set template after setting locale
print(dateFormatter.string(from: date)) // December 31
https://developer.apple.com/documentation/foundation/dateformatter
Apple Developer Documentation
developer.apple.com
위 내용을 응용하여 과제 ) 디데이계산기 앱을 만들어보았다.
본인이 UIDatePicker에서 날짜를 선택하면 자동으로 D+100 D+200 D+300 D+400 Label에 표시
//달력에서 본인이 선택한 날짜를 변수에 담음
let date = datePicker.date
let dateformatter = DateFormatter()
dateformatter.dateStyle = .short
dateformatter.timeStyle = .none
//한국시간으로 표시
dateformatter.locale = Locale(identifier: "ko_kr")
//형태변환
dateformatter.dateFormat = "yyyy년 MM월 dd일"
//선택한 날짜에 D+100, D+200,... 더하기
let pickerDatePlus100Days = Calendar.current.date(byAdding: .day, value: 100, to: date)
let pickerDatePlus200Days = Calendar.current.date(byAdding: .day, value: 200, to: date)
let pickerDatePlus300Days = Calendar.current.date(byAdding: .day, value: 300, to: date)
let pickerDatePlus400Days = Calendar.current.date(byAdding: .day, value: 400, to: date)
//라벨에 출력하기 위해서 string으로 변환 및 dateformatter 적용
let str_100d = dateformatter.string(from: pickerDatePlus100Days!)
let str_200d = dateformatter.string(from: pickerDatePlus200Days!)
let str_300d = dateformatter.string(from: pickerDatePlus300Days!)
let str_400d = dateformatter.string(from: pickerDatePlus400Days!)
//라벨에 내용 출력
d100Label.text = str_100d
d200Label.text = str_200d
d300Label.text = str_300d
d400Label.text = str_400d
How to add one day to UIDatePicker() selected date in swift?
How to add one day to UIDatePicker() selected date in swift?
I having date picker in my application I select one date from the date picker, need to add one day to that particular selected date. Please find my code. var startingdate:Date? let datePicker =
stackoverflow.com
let pickerDate = datePicker.date
let pickerDatePlusOneDay = Calendar.current.date(byAdding: .day, value: 1, to: pickerDate)
보통 DateFormatter()를 이용해서 label 에 보여주거나 하는 형식이 많아서 대부분 date -> String으로 표현하게 됨
[Swift] 날짜형식 변환하기, 시간차 구하기
+ 2020.03.02일 추가 업로드 안녕하세요😄😄 이번에는 날짜형식의 데이터를 자신의 입맛에 맞게 바꾸는 작업과 두 날짜간 시간차를 구하는 방법을 알아볼게요 가지고있는 날짜데이터를 원하는
nsios.tistory.com
오전, 오후 시간 나타내는 방법 -> a 이용
format.dateFormat = "a HH:mm"
https://velog.io/@hope1053/iOS-DateFormat
[iOS] DateFormat
주로 DatePicker를 사용하여 선택한 날짜에 대한 정보를 사용하고 싶을 때 사용하게 된다.DatePicker에서 선택한 날짜는 date 타입으로 바로 문자열로 사용할 수 없고 DateFormatter()를 사용해서 변환해야
velog.io
오늘이 포함된 일주일 날짜 불러오기
[swift] 오늘이 포함된 일주일 날짜 불러오기 Date(timeIntervalSinceNow:)
프로젝트 하다가 못쓰게 된 코드가 있어서 남겨본다. 오늘이 3월31일 수요일이라면 일주일 시작 날짜(ex.월요일) 부터의 1주일간의 날짜를 불러오는 법이다. let formatter = DateFormatter() formatter.dateForm
doh-an.tistory.com
*이번주 시작날짜 , 끝 날짜 구하기
// 일요일 = 0
func getStartDayOfWeek() -> Date {
let format = DateFormatter()
format.dateFormat = "MMM-dd-e-EEEE" //e는 1-7(sun-sat)
let day = format.string(from: Date())
let today = day.components(separatedBy: "-") // [0] = MMM , [1] = dd, [2] = e(1), [3] = EEEE(Sunday)
let interval = Double(today[2])! //수요일 = 3
return Date(timeIntervalSinceNow: -(86400 * (interval)))
}
func getEndDayOfWeek() -> Date {
let format = DateFormatter()
format.dateFormat = "MMM-dd-e-EEEE" //e는 1-7(sun-sat)
let day = format.string(from: Date())
let today = day.components(separatedBy: "-") // [0] = MMM , [1] = dd, [2] = e(1), [3] = EEEE(Sunday)
let interval = Double(today[2])!
return Date(timeIntervalSinceNow: (86400 * (7 - interval)))
}
'iOS > iOS Swift 개발 일기' 카테고리의 다른 글
expected declaration 오류 뜰 때 (0) | 2022.07.21 |
---|---|
iOS swift 반환타입 알아내기 (0) | 2022.07.16 |
iOS swift 개발자 문서 열기 (0) | 2022.07.07 |
TIL 7.3 (0) | 2022.07.03 |
TIL 7.2 (0) | 2022.07.02 |