티스토리 뷰
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: Wheels
Mode: 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 (지연 저장 프로퍼티) (0) | 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 ModernRIBs
- Swift inout
- swift programmers
- Swift final
- swift (programmers)
- Swift init
- Swift
- swift property
- Swift Leetcode
- Swift 내림차순
- iOS error
- Swift joined()
- swift protocol
- Swift RIBs
- Swift joined
- RTCCameraVideoCapturer
- RIBs tutorial
- Swift 프로그래머스
- removeLast()
- Swift Error Handling
- Swift 프로퍼티
- swift 고차함수
- Class
- 원티드 프리온보딩
- Swift 알고리즘
- CS 네트워크
- Combine: Asynchronous Programming with Swift
- ios
- 2023년 회고
- swift reduce
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함