[자바의정석]Java - 날짜와 시간 & 형식화 #009

박정현·2022년 1월 18일
0

Java

목록 보기
9/16
post-thumbnail

날짜와시간

java.util.Date

  • 날짜와 시간을 다룰 목적으로 만들어진 클래스
  • Date 메서드는 거의 deprecated(사용 권장 x), 하지면 여전히 쓰이고있다

java.util.Calendar

  • Date 클래스를 개선한 새로운 클래스 , 하지만 여젼히 단점이 존재

Date,Calendar의 단점

  • 날짜와 시간을 항상 같이 다뤄야한다

java.time패키지

  • Date와 Calendar의 단점을 개선한 새로울 클래스들을 제공(JDK1.8)

Calendar클래스

  • 추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야 한다
Calendar cal = Calendar.getInstance();

Calendar클래스 예제 (1)

  • get메서드를 이용해서 정보를 얻어오는법
  • 주의할점 월(MONTH)는 0부터 시작 0이면 1월이다

Calendar클래스 예제 (2)

  • set()로 날짜와 시간 지정하는법
  • clear()를 해주면 모든 필드를 초기화한다
  • 객체생성후 현시간을 사용하지 않는다면 clear() 한 이후 사용할것.
    set()을 사용한다면 그전에 clear()하자

Calendar클래스 예제 (3)

  • add()는 특정 필드의 값을 증가 또는 감소(다른 필드에 영향O)
    7월31일에서 일에 +1 하면 8월로 변함
  • roll()은 특정 필드의 값을 증가 또는 감소 (다른 필드에 영향x)
    7월31일에서 일에 +1하면 그냥 7월1일

원하는 달력 찍어보기

형식화 클래스 DecimalFormat

  • java.text패키지의 DecimalFormat,SimpleDateFomat
  • 숫자와 날짜를 원하는 형식으로 쉽게 출력가능 (숫자,날짜 -> 형식 문자열)
    format()
  • 형식 문자열에서 숫자와 날짜를 뽑아내는 기능 (형식 문자열 -> 숫자,날짜)
    parse()
    -#, 0 ,E 기호등으로 사용한다

형식화 클래스 SimpleDateFomat

  • 날짜와 시간을 다양한 형식으로 출력할 수 있게해준다
Date today = new Date();
SimpleDateFormat df = new SimepleDateFormat("yyyy-MM-dd");

//오늘 날짜를 yyyy-MM-dd형태로 변환하여 반환
String result = df.format(today);
  • 특정 형식으로 되어있는 문자열에서 날짜와 시간을 뽑아낼 수도 있다
DateFormat df = new SimpleDateFormat("yyyy년 MM월 dd일")
DateFormat df2 = new SimpleDateFormat("yyyy/MM/dd")
Date d = df.parse("2015년 11월 23일") // 날짜만 뽑아냄
String result = df2.format(d) //df2형식으로 문자열 저장
profile
빠샤

0개의 댓글

관련 채용 정보