개발학습일지

[Android Studio] 시간 데이터를 자바 UTC에서 로컬 타임으로 변환 _SimpleDateFormat 본문

Android Studio

[Android Studio] 시간 데이터를 자바 UTC에서 로컬 타임으로 변환 _SimpleDateFormat

처카푸 2024. 6. 14. 13:00

시간 데이터를 자바 UTC에서 로컬 타임으로 변환

 

변환하는 try catch!

    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {

        Memo memo = memoArrayList.get(position);

        try {
            // 처음 한번만 실행되도록 생성자에 넣어준다.
            //utc 를 로컬 타임으로 변환
            // 원래 시간 모양
            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
            // 바꾸고 싶은 시간 모양
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
            // 시간 종류 알려줌
            sf.setTimeZone(TimeZone.getTimeZone("UTC"));
            // 핸드폰 로컬 타임에 맞게 설정해라
            df.setTimeZone(TimeZone.getDefault());
         
        
        
            // 자바가 인식할 수 있는 UTC 시간으로 date 저장
            Date date = sf.parse(memo.getDate());
            // 원래 있던 시간을 내가원하는 시간 모양과 핸드폰 시간으로 변경
            String localDate = df.format(date);
            holder.txtDate.setText(localDate);
        } catch (ParseException e) {
            // 로그 남기고 리턴
            return;
        }

 

- 계속 위에 함수들이 실행되기보단 한번만 실행되면 되기 때문에,

  위에 sf와 df는 생성자 안에 넣어두고 멤버변수로 지정해주면 더욱 깔끔하게 사용할 수 있다.