앱을 개발하다보면 오늘 날짜를 가져와야 할 때가 은근 자주 있다.
없을 때도 있다
그래서 오늘 날짜를 좀 더 편하게 출력할 수 있는 모듈을 직접 구현해봤다.
효율적이라고 생각되진 않지만 그냥 내가 편해서 구현했다..
코드는 아래와 같다.
object MyDateUtil {
const val HYPHEN = "yyyy-MM-dd"
const val SLASH = "yy/MM/dd"
const val HANGUEL = "yyyy년 MM월 dd일"
const val COLONE = "yyyy:MM:dd"
fun getDate(format: String) : String {
return SimpleDateFormat(format, Locale.KOREA).format(Date())
}
}
먼저 format에 들어갈 패턴들을 상수로 정의해주고
매개변수로 format(패턴)을 받아서 출력할 날짜를 반환하는 메소드를 구현했다.
사실 구조 자체는 매우 간단하다.
패턴이란게 사실 정해져 있는 것은 아니고
기호들을 알맞게 형식에 맞춰 출력하면 된다.
G 연대(BC, AD) AD
y 년도 2017
M 월(1~12) 12
w 해당 년도의 몇 번째 주(1~53) 52
W 해당 월의 몇 번째 주(1~5) 5
D 해당 연도의 몇 번째 일(1~366) 364
d 해당 월의 몇 번째 일(1~31) 30
F 해당 월의 몇 번째 요일(1~5) 5
E 요일(월~일) Sat
a 오전/오후(AM, PM) PM
H 시간(0~23) 21 h 시간(1~12) 9
K 시간(0~11) 9 k 시간(1~24) 21
m 분(0~59) 31 s 초(0~59) 8
S 1/1000초(0~999) 297
Z 타임존 +0900
z 타임존(RFC 822) KST
드럽게 많다
이를테면 2021년 11월 18일 목요일
을 출력하고 싶다면
"yyyy년 MM월 dd일 E요일" 이렇게 작성해주면 된다.
개인적으로 공부했던 것을 바탕으로 작성하다보니
잘못된 정보가 있을수도 있습니다.
인지하게 되면 추후 수정하겠습니다.
피드백은 언제나 환영합니다.
읽어주셔서 감사합니다.