일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- DB연동
- 상속
- 조회
- JDBC
- Annotaion
- set
- Serializable
- statement
- 예외처리
- 8bit
- array
- swing
- DB
- 16bit
- 오라클
- 다이얼로그
- stream
- Transaction
- select
- Oracle
- where
- java
- Reader
- Join
- transient
- Connection
- 자바
- 난수
- InputStream
- driver
- Today
- Total
오버플로
[Java] Date Class / SimpleDateFormat Class / Locale Class 본문
1. Date Class
- SimpleDateFormat클래스와 함께 형식이 있는 날짜를 사용할 때
- java.util package에서 제공
- 비추천 method가 많음..
- 사용법)
1. 생성 : Date date = new Date();
Date date1 = new Date(System.currentTimeMillis());
>> Java에서 유일하게 시간정보를 가진 클래스 : System
>> System.currentTimeMillis() : 1970년01월01일00시00분00초부터 현재까지 ms로 얻어냄
* 이 객체를 출력하면 시간이 나온다. 주소가 아닌 값이 나온 이유는!
Date Class에서 Object의 toString()을 Override했기 때문.
2. SimpleDateFormat
- format 클래스 => 형식을 설정하는 일
- java.text package에서 제공
- format은 pattern이 모인 것, pattern은 letter가 모인 것 (letter를 조합해서 pattern만들자)
(Ex. 2021-07-29 : 각 자리 수, 2, 0, 2, 1이 letter, 2021은 pattern)
- 생성) SimpleDateFormat sdf = new SimpleDateFormat(“pattern”);
SimpleDateFormat sdf = new SimpleDateFormat(“pattern”, Locale);
pattern : 년 – y | yyyy (년도4자리) / yy (년도2자리)
월 – M (1~9까지. 10~12) / MM (01~09로 나옴)
일 – d (1~9) / dd(01~09)
시 – H, k (1~24) / K,h (1~12)
오전|오후 – a
분 – m(1~9) / mm (01~09)
초 – s (1~9) / ss (01~09)
요일 – E (월~일) / EEEE(+요일)
Locale class : java.util package에서 제공하는 class
: JVM이 동작하는 OS에서 지원하는 날짜 형식이 아닌 다른 나라의 날짜형식을 저장한 클래스
- SimpleDateFormat은 형식은 설정하나 날짜 정보가 없음
- 일) 날짜 정보를 넣어서 형식에 맞는 날짜를 얻자
: String formatDate = sdf.format(new Date());
# 오늘의 코딩 #
- 3가지의 Class를 활용하여 다양한 기능을 수행해보자!
package test;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
/**
* Date 활용 class
* @author user
*/
public class NationDate {
/**
* 0~4를 입력받아 해당 국가에서 사용하는 날짜 형식으로 반환하는 method<br>
* 0 한국 / 1 미국 / 2 중국 / 3 일본 / 4 영국<br>
* @param nationCode 국가 숫자
* @return
*/
public String nationDateFormat(int nationCode) {
String resultDate = "";
Locale[] tempLoc = { Locale.KOREA, Locale.US, Locale.CHINA, Locale.JAPAN, Locale.UK };
if (nationCode > tempLoc.length - 1) {
nationCode = 0; // 국가 코드가 초과된 경우 한국으로 제공
} // end if
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy EEEE a HH:mm", tempLoc[nationCode]);
resultDate = sdf.format(new Date());
return resultDate;
}// nationDateFormat
public static void main(String[] args) {
NationDate date = new NationDate();
System.out.println(date.nationDateFormat(2));
System.out.println(date.nationDateFormat(20));
}// main
}// class
- 나라별 Locale Constant를 배열의 element로 할당하여, parameter로 입력되는 숫자와 대응되도록 작성!
# 출력 결과 #
08-01-2021 星期日 下午 16:52
08-01-2021 일요일 오후 16:52
성공적!!
'Java' 카테고리의 다른 글
[Java] Calendar Class(2) (0) | 2021.08.03 |
---|---|
[Java] Calendar Class / VO Class (0) | 2021.08.02 |
[Java] StringTokenizer (0) | 2021.07.30 |
[Java] Math Class (0) | 2021.07.29 |
[Java] Interface (0) | 2021.07.28 |