정상에서 IT를 외치다

[Android, SimpleDataFromat, Joda-Time ] 시간 함수 사용하기 본문

안드로이드

[Android, SimpleDataFromat, Joda-Time ] 시간 함수 사용하기

Black-Jin 2018. 4. 12. 11:40
반응형

SimpleDataFromat 사용법과 JodaTime 에 대해 포스팅 하겠습니다.


날짜와 시간을 가져올 때 SimpleDataFormat  을 주로 사용했습니다.

Date data = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy년 MM월 dd일 a hh시 mm분 ss초");

String today = simpleDateFormat.format(data);

실행법은 위와 같이 간단합니다.

(Data 는 java.util.date 를 import 해야 합니다.)

(SimpleDataFormat 에서 'a' 는 오전/오후 를 나타냅니다.)


하지만 SimpleDataFormat 은 Thread-Safe 하지 못하기 때문에 쓰레드에 많은 부하가 걸립니다.


그래서 이번에 소개할 시간 라이브러리는 Joda-Time 입니다.


Joda-Time 은 불변객체가 아니기 떄문에 Data, Calendar 객체와 같이 여러 곳에서 공유되면 한 곳에서 바꾼 값이 다른 곳에 영향을 미치는 부작용이 생기지 않습니다.


또한 쓰레드 상에서 SimpleDataFormat 보다 안전하다고 합니다.



<사용법>


1.  dependencies 에 추가해줍니다.


dependencies {

    implementation 'net.danlew:android.joda:2.9.9.3'
}


2. application 에서 한번 초기화 해줍니다.


 public class MyApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        JodaTimeAndroid.init(this);
    }
}


그럼 설정은 완료!!



사용법은 간단합니다.


아래와 같이

import org.joda.time.DateTime;

joda.time 을 갖는 DataTime 을 import 하고


DateTime dateTime = new DateTime();
String today = dateTime.toString("yyyy년 MM월 dd일 HH:mm:ss");

위와 같이 포멧을 설정 하여 사용하시면 됩니다.


포멧 관한 더 많은 패턴은 이 링크를 확인해 주세요



< 참고자료 >

https://github.com/dlew/joda-time-android

반응형
Comments