관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[자바] 어떤 기기에서든 어디서든 한국의 날짜만 얻고 싶을 때 본문

자바(java)

[자바] 어떤 기기에서든 어디서든 한국의 날짜만 얻고 싶을 때

막무가내막내 2019. 8. 3. 17:33
728x90

안드로이드를 하면서 기기마다 시간설정이나 국가가 다르면 서로 다르게 불러와져서

 

한국의 시간으로만 나오게끔 하고싶어서 다음과 같이 만들어서 사용했었다.(두번째거는 날짜와 타임스탬프를 합쳐서 토큰을 만들었던 것이다.)

    private String getDate() {
        SimpleDateFormat sdf = new SimpleDateFormat("MM/dd HH:mm");
        Calendar calendar = Calendar.getInstance();
        Date date = calendar.getTime();
        sdf.setTimeZone(TimeZone.getTimeZone("Asia/Seoul"));
        String dateResult = sdf.format(date);
        return dateResult;
    }

    //게시물토큰값 반환( timestamp + uuid 조합), timestamp는 정렬되게하기위해서 넣음
    private String getTimeStampUid() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.KOREA);
        Calendar calendar = Calendar.getInstance();
        Date date = calendar.getTime();
        sdf.setTimeZone(TimeZone.getTimeZone("Asia/Seoul"));
        String dateResult = sdf.format(date);
        String timestamp = FieldValue.serverTimestamp() + "";
        return dateResult + timestamp;
    }

 

만약 시간을 0~12로 얻고싶으면 HH대신 hh를 사용하면된다.

그리고 이 예제는 2019년 8월 3일  오후2시 20분 20초라고 하면

2019-08-03 14:20:20 의 결과를 얻는다.

 

---------------------------

 

P.S

        //date Test
        val simpleDateFormat = SimpleDateFormat("MM/dd HH:mm")
        Log.d("EEEE", FieldValue.serverTimestamp().toString())
        Log.d("EEEE", Calendar.getInstance().timeInMillis.toString())
        simpleDateFormat.timeZone = TimeZone.getTimeZone("Asia/Seoul")
        Log.d("EEEE", simpleDateFormat.format(Calendar.getInstance().timeInMillis))

 

 

Calendar c = Calendar.getInstance();
DatePickerDialog dialog = new DatePickerDialog(context, new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
        String _year = String.valueOf(year);
        String _month = (month+1) < 10 ? "0" + (month+1) : String.valueOf(month+1);
        String _date = dayOfMonth < 10 ? "0" + dayOfMonth : String.valueOf(dayOfMonth);
        String _pickedDate = year + "-" + _month + "-" + _date;
        Log.e("PickedDate: ", "Date: " + _pickedDate); //2019-02-12
    }
}, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.MONTH));
dialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
dialog.show();
728x90
Comments