ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Tip] 날짜 관련 유용하게 쓰일 변환하는 법 (Using SimpleDateFormat)
    Mhwan's Develope/JAVA 2016. 11. 2. 01:56

    보통 프로그래밍을 하다보면 날짜 시간을 SimpleDateFormat의 형식을 갖고 표현하거나 db에 저장한다. (예, 2016-11-02 01:51:24)

    아래는 바로 SimpleDateFormat과 String형태의 날짜 데이터와 관련된 변환하는 것이다.


    1. String형태의 날짜가 오늘 날짜인지 여부 (String 날짜, String 형태의 날짜 포맷)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public boolean isToday(String sDate, String sFormat){
            Date date = null;
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat(sFormat);
            try {
                date = simpleDateFormat.parse(sDate);
     
                if (date == null)
                    throw new IllegalArgumentException("Date is null");
            } catch (ParseException | IllegalArgumentException e){
                e.printStackTrace();
                return false;
            }
     
            Calendar cToday = Calendar.getInstance();
            Calendar cDate = Calendar.getInstance();
            cDate.setTime(date);
     
            return (cToday.get(Calendar.ERA) == cDate.get(Calendar.ERA)) && (cToday.get(Calendar.YEAR) == cDate.get(Calendar.YEAR)) && (cToday.get(Calendar.DAY_OF_YEAR) == cDate.get(Calendar.DAY_OF_YEAR));
        }
    cs


    2. String형태의 날짜 데이터를 Date 객체로 변환 (String 날짜, String 형태의 날짜 포맷)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public Date getDate(String sDate, String sFormat){
            Date date = null;
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat(sFormat);
            try {
                date = simpleDateFormat.parse(sDate);
     
                if (date == null)
                    throw new IllegalArgumentException("Date is null");
            } catch (ParseException | IllegalArgumentException e){
                e.printStackTrace();
            }
     
            return date;
        }
    cs


    3. String 형태의 날짜를 다른 포맷의 날짜 형태로 변환 (String 날짜, String 형태의 원래 날짜 포맷, String 형태의 바꾸려는 날짜 포맷)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public String changeDateTimeFormat(String time, String original_format, String new_format){
            SimpleDateFormat fOriginal = new SimpleDateFormat(original_format);
            SimpleDateFormat fNew = new SimpleDateFormat(new_format);
            String newtime;
            try {
                Date d = fOriginal.parse(time);
                newtime = fNew.format(d);
            } catch (ParseException e){
                e.printStackTrace();
                newtime = time;
            }
     
            return newtime;
        }
    cs


    댓글

Designed by Mhwan.