Post

현재시간, 날짜 구하기

1. Date 클래스 활용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.text.SimpleDateFormat;
import java.util.Date;

public class CurrentDateTime {

    public static void main(String[] args) {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        Date date = new Date();

        String currentDt = sdf.format(date);
        System.out.println(currentDt);
    }
}

2. Calendar 클래스 활용

Calendar 클래스가 추가되면서 Date 클래스는 대부분의 메소드가 deprecated 되었다.

  • getInstance() 메서드 활용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class CurrentDateTime {

    public static void main(String[] args) {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
        // 에러: 추상클래스는 인스턴스를 생성할 수 없다.
        // Calendar calendar = new Calendar();
        
        // getInstance()는 Calendar 클래스를 구현한 클래스의 인스턴스를 반환
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());

        String current = sdf.format(calendar.getTime());
        System.out.println(current);
    }
}

3. System 클래스 활용

  • currentTimeMillis() 메서드 활용
1
2
3
4
5
6
7
8
9
10
11
12
import java.text.SimpleDateFormat;

public class CurrentDateTime {

    public static void main(String[] args) {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String currentDt = sdf.format(System.currentTimeMillis());
        System.out.println(currentDt);
    }
}

4. StringBuffer로 날짜, 시간 출력

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.text.FieldPosition;
import java.text.SimpleDateFormat;
import java.util.Date;

public class CurrentDateTime {

    public static void main(String[] args) {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        StringBuffer stringBuffer = new StringBuffer();
        Date date = new Date();

        sdf.format(date, stringBuffer, new FieldPosition(0));

        System.out.println(sb);
    }
}

5. 패턴

패턴설명
G연대(BC, AD)
y년도
M월(1~12)
w해당 년도의 몇 번째 주(1~53)
W해당 월의 몇 번째 주(1~5)
D해당 연도의 몇 번째 일(1~366)
d해당 월의 몇 번째 일(1~31)
F해당 월의 몇 번째 요일(1~5)
E요일(월~일)
a오전/오후(AM, PM)
H시간(0~23)
h시간(1~12)
K시간(0~11)
k시간(1~24)
m분(0~59)
s초(0~59)
S1/1000초(0~999)
Z타임존
z타임존(RFC 822)

[출처 및 참고]

This post is licensed under CC BY 4.0 by the author.