티스토리 뷰
728x90
앱을 사용하다보면 시간을 활용해서 알람을 보내거나 여러가지 기능을 구현할수 있는데,
이 글에서는 날짜를 다루는 방법 에 대해 알아보려고 합니다.
Date()를 선언하게 되면
2021-09-25 06:10:50 +0000
이런식으로 나오게 되는데
아래와 같은 사진으로 변경해봅시다!!

먼저 시간을 조절할수있는 DatePicker에 대해 알아보도록 하죠.
DatePicker
1. ViewController 추가.
(저는 `DateViewController`로 이름을 지었습니다.)
2. Objects Library (Shift + cmd + L)에 Datepicker 추가.

3. (선택) 이쪽에서 DatePicker에서 원하는 디자인을 선택할수 있습니다.
저는 시간만 변경하는걸로 설정했습니다.Preferred Style: WheelsMode: Time

4. Ctrl 누른상태로 Datepicker -> DateViewController.swift로 드래그 -> @IBAction 설정

5. run으로 시뮬레이터 실행후, print로 값이 바뀔때 시간 호출하는것 확인.

시간을 받아오는것 까진 성공했습니다.
다음은 DateFormatter()로 날짜표시를 해봅시다!
DateFormatter()
먼저 변환하려는 형태로 지정을 해줘야 합니다.
아까 IBAction에 코드를 작성할게요.
@IBAction func changedDateValue(_ sender: UIDatePicker) {
let formatter = DateFormatter()
// 한국시간으로 표시
formatter.locale = Locale(identifier: "ko")
// 시간대 표시
formatter.dateFormat = "a HH:mm"
let formattedDate = formatter.string(from: sender.date)
print("formattedDate --> \(formattedDate)")
}
결과

저같은 경우는 오전, 오후 시간대만 출력되게 해놓았는데요.
여러가지 변형 방법을 아래 예제를 보시고 본인에게 맞는 DateFormat을 하시기 바랍니다 :)
예제
let currentDate = Date() // 현재 날짜 [ex) 2021-09-25 06:49:50 +0000]
let formatter = DateFormatter()
// 연도-월-일 오전,오후 시간:분 으로 표기.
dateFormatter.dateFormat = "yyyy-MM-dd a HH:mm"
// currentDate의 날짜를 string으로 변경
let formattedDate = formatter.string(from: currentDate) // 2021-09-25 오후 15:49
이외의 여러가지 예가 있습니다.
Wednesday, Sep 12, 2018 --> EEEE, MMM d, yyyy
09/12/2018 --> MM/dd/yyyy
09-12-2018 14:11 --> MM-dd-yyyy HH:mm
Sep 12, 2:11 PM --> MMM d, h:mm a
September 2018 --> MMMM yyyy
Sep 12, 2018 --> MMM d, yyyy
Wed, 12 Sep 2018 14:11:54 +0000 --> E, d MMM yyyy HH:mm:ss Z
2018-09-12T14:11:54+0000 --> yyyy-MM-dd'T'HH:mm:ssZ
12.09.18 --> dd.MM.yy
10:41:02.112 --> HH:mm:ss.SSS
참고 사이트
728x90
'iOS' 카테고리의 다른 글
| [Swift] 기본 연산자 (Basic) (0) | 2021.12.05 |
|---|---|
| [Swift] Lazy Stored Properties (지연 저장 프로퍼티) (1) | 2021.11.30 |
| [Swift] 프로퍼티 (Properties) (0) | 2021.11.24 |
| [Swift] 인스턴스 (instance) / 메서드 (methods) (0) | 2021.11.17 |
| [iOS] Frame, Bounds 차이 (0) | 2021.11.14 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Swift RIBs
- Swift inout
- 2023년 회고
- Swift final
- swift protocol
- 원티드 프리온보딩
- swift programmers
- RIBs tutorial
- Swift init
- swift 고차함수
- iOS error
- removeLast()
- Swift 알고리즘
- Swift 내림차순
- Swift 프로퍼티
- Combine: Asynchronous Programming with Swift
- Swift Error Handling
- Swift
- Swift Leetcode
- swift reduce
- CS 네트워크
- RTCCameraVideoCapturer
- Swift joined
- swift property
- ios
- Swift 프로그래머스
- Swift joined()
- Class
- Swift ModernRIBs
- swift (programmers)
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함