[Kotlin] 코틀린 날짜 함수 정리

코틀린 날짜 함수

프로그래머스 문제를 풀다가 java에서는 Date가 Deprecate 되고 Calendar를 사용한다고 해서 정리해봤다.

전체적으로 정리하기보단 실제로 사용하는 부분에만 중점을 뒀다. 전체 Document는 이곳 참조

java에서는 날짜를 계산하는 내장라이브러리로 Calendar클래스나 java.time 패키지를 주로 사용하지만 일단 사용하기 편한 Calendar 클래스를 보면

  • Calendar 인스턴스 생성
    1
    val calendar:Calendar = Calendar.getInstance()

Calendar 클래스는 추상클래스이기 때문에 객체를 직접 생성할 수 없고 getInstance() 함수를 통해 완전히 구현된 클래스의 인스턴스를 얻어야 한다.
이 인스턴스를 통해 Calendar 클래스 내부 함수들을 사용할 수 있다.

인스턴스의 내부에는 현재 날짜와 시간정보가 들어있다.

  • 현재 날짜정보 가져오기
    1
    2
    3
    4
    5
    6
    val year = calendar.get(Calendar.YEAR)  
    val mon = calendar.get(Calendar.MONTH)
    val day = calendar.get(Calendar.DAY_OF_MONTH)
    val hour = calendar.get(Calendar.HOUR_OF_DAY)
    val min = calendar.get(Calendar.MINUTE)
    val sec = calendar.get(Calendar.SECOND)

주의할 점은 calendar.get(Calendar.MONTH) 로 가져오는 월이 1~12이 아니라 0~11 이다.
그래서 0이 1월, 11이 12월을 의미한다.

  • 날짜 설정하기

    1
    calendar.set(year,month,date,hour,minute,second)
  • 날짜 일수 계산하기

    1
    2
    calendar.timeInMillis  
    //설정된 시간을 밀리초로 변경

시간을 밀리초로 변환시킨 후SimpleDateFormat()함수를 통해 원하는 Date Format으로 변경한다.
자세한 포맷은 정식문서 참조

결과값이 한글로 나올경우 뒤에 Locale.ENGLISH을 붙여 영어로 만든다.

1
2
SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z",Locale.ENGLISH).format(calendar.timeInMillis)  
//2001.07.04 AD at 12:08:56 PDT
공유하기