본문 바로가기
Android 개발/android :: warning & error

[안드로이드] 경고: To get local formatting use getDateInstance(), getDateTimeInstance(), or getTimeInstance(), or use new SimpleDateFormat(String template, Locale locale) with for example Locale.US for ASCII dates. 해결 방법

by 독학하는 1인 개발자 2019. 9. 2.

Android 개발 Warning과 Error

 

- Android SimpleDateFormat Warning

 

현재 시각 받아오는 방법

 

SimpleDateFormat 경고 없애는 방법

 

 

 

 

 

 

안드로이드에서 현재 시각을 받아오는 코드를 작성할 때 볼 수 있는 경고이다.

 

To get local formatting use getDateInstance(), getDateTimeInstance(), or getTimeInstance(), or use new SimpleDateFormat(String template, Locale locale) with for example Locale.US for ASCII dates.

 

 

우선 현재 시각을 받아오는 코드부터 확인해보자.

 

다음과 같이 코드를 작성하면

 

현재 시간을 받아올 수가 있다.

 

 

1. 현재 시각 받아오기

 

1
2
SimpleDateFormat sdfNow = new SimpleDateFormat("yy/MM/dd HH:mm"); // 연/월/일 시/분
String nowTime = sdfNow.format(date); // String 변수 nowTime에 시간 저장
cs

 

 

 

2. 경고

 

하지만 다음과 같이 경고가 뜬다.

 

To get local formatting use getDateInstance() ~~

 

메시지를 보면 Locale을 명시해라 뭐 그런 얘기 같은데

 

 

Locale 클래스

해당 지역의 정보를 담고 있는 클래스이다.

 

 

예를 들어,

locale.getDisplayLanguage() 을 통해 언어 정보를 불러올 수 있고 (한국어)

locale.getDisplayCountry() 을 통해 국가 정보를 불러올 수 있다. (대한민국)

 

 

 

3. 해결책

 

어쨌든 해결책은

지역 정보를 추가해주기 위해 다음 코드를 집어 넣으면 경고는 사라진다.

 

java.util.Locale.getDefault()

 

1
SimpleDateFormat sdfNow = new SimpleDateFormat("yy/mm/dd HH:mm", java.util.Locale.getDefault());
cs

 

 

예를 들어 Locale.US / Locale.KOREA / Locale..UK 처럼 국가를 설정해줄 수가 있고

Locale.getDefault 로 기본 값을 불러올 수가 있다.

 

 

 

경고가 사라진 것을 확인할 수 있다.

댓글