취미처럼

[JAVA] 날짜, 시간 본문

JAVA/이론

[JAVA] 날짜, 시간

sirius 2021. 3. 22. 09:49
Class  Description 
 java.util.Date  특정 날짜를 저장한다. 
 java.util.Calendar    일시에 대한 다양한 조작을 한다. 
 java.text.SimpleDateFormat   지정한 서식에 따라 문자열을 Date 클래스로 변환하거나, 그 반대로 처리한다. 

 

Date

import java.util.Date;

public class Main {
    public static void main(String[] args) {
        Date now = new Date();
        System.out.println(now);
    }
}

 

Calendar  

import java.util.Calendar;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.DAY_OF_MONTH, 1);
        
        Date nextDay = cal.getTime();
        System.out.println(nextDay);
        
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH);
        int day = cal.get(Calendar.DATE);
        int hour = cal.get(Calendar.HOUR);
        int minute = cal.get(Calendar.MINUTE);
        int second = cal.get(Calendar.SECOND);
    }
}

 

Calendar 클래스의 add 메서드의 Parameter

void java.util.Calendar.add(int field, int amount)

 Parameter   Description 
 field   Calendar 클래스의 상수(다음 표를 참고) 
 amount   변경될 양을 설정(마이너스 값도 설정 가능) 

 

Calendar 클래스의 add 메서드의 field

 Field  Description
 YEAR   연
 MONTH   월 
 DATE   일 
 DAY_OF_MONTH  일(DATE와 같음) 
 HOUR_OF_DAY   24시간제 시간 
 HOUR   12시간제 시간 
 MINUTE   분 
 SECOND   초 
 MILLISECOND  밀리초 

 

날짜 데이터의 특정 항목

Field  Description
 Calendar.YEAR   현재 연도
 Calendar.MONTH   현재 월 (1월은 0)
 Calendar.DATE   현재 월의 날짜 
 Calendar.WEEK_OF_YEAR  현재 년도의 몇째 주
 Calenda.WEEK_OF_MONTH   현재 월의 몇째 주 
 Calendar.DAY_OF_YEAR  현재 년도의 날짜 
 Calendar.DAY_OF_MONTH  현재 월의 날짜(DATE와 같음) 
 Calendar.DAY_OF_WEEK  현재 요일(일요일은 1, 토요일은 7) 
 Calendar.HOUR_OF_DAY   현재 시간(24시간제 시간)
 Calendar.HOUR   현재 시간(12시간제 시간)
 Calendar.MINUTE   현재 분 
 Calendar.SECOND   현재 초 

 

SimpleDateFormat

SimpleDateFormat 클래스는 클래스의 생성자로 미리 서식을 설정해 둔다.

나머지는 format 메서드의 인수로 Date 클래스를 넘겨주면 서식에 맞게 날짜를 출력할 수 있다.

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        Date date = cal.getTime();
        
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        String formatStr = sdf.format(date);
        System.out.println(formatStr);
    }
}
Symbol   Description  Example
 y  year : 년도   yy : 14 , yyyy : 2014
 M  month in year : 월   M : 1, MM : 01, MMM : 1월 
 d  day in month : 일  d : 1, dd : 01, ddd : 001, dddd : 0001
 h  hour in am/pm(1-12) : 시  h : 1  , hh : 01, hhh : 001, hhhh : 0001
 a  am/pm marker  a : 오후
(AM/PM 으로 표시하려면 format에서 Locale.US를 지정)
 k  hour in day (1-24) : 시  k : 13, kk : 13, kkk : 013, kkkk : 0013
 m  minute in hour : 분   m : 20, mm: 20, mmm : 020, mmmm : 0020
 s  second in minute : 초  s : 10, ss : 10, sss : 010. ssss: 0010
 w  week in year : 주(년기준)   w : 1, ww : 01, www :001, wwww : 0001 
 D   day in year : 일(년기준)  D : 1, DD : 01, DDD: 001, DDDD : 0001 
 E  day of week : 요일  E : 수
 F  day of week in month
: 월 기준 주간 요일 순번 
 F : 1, FF : 01, FFF:001, FFFF:0001
 G  era designator : 시대  AD 
 H  hour in day (0-23) : 시   H: 13, HH : 13, HHH : 013 , HHHH:0013
 K  hour in am/pm(0-11) : 시   K: 1 , KK : 01, KKK :001, KKKK: 0001 
 S  fractional seconds : 초  S : 402 
 W  week in month : 주 (월기준)   W : 1, WW : 01, WWW : 001, WWWW : 0001
 z  time zone  z : KST, zzzz: 한국표준시
 Z  time zone (RFC 822)   Z : +0900

'JAVA > 이론' 카테고리의 다른 글

[JAVA] 객체 직렬화  (0) 2021.03.22
[JAVA] 정규식  (0) 2021.03.22
[JAVA] JVM  (0) 2021.03.22
[JAVA] StringBuffer, StringBuilder  (0) 2021.03.22
[JAVA] Math.ceil() / Math.floor() / Math.round() (올림/내림/반올림)  (0) 2021.02.08
Comments