Date,Time

말하는 감자·2024년 12월 24일
0

자바 중급

목록 보기
11/21
post-thumbnail

개념

특징

  1. 날짜 및 시간 표현
    : Date 객체는 특정 날짜와 시간을 밀리초 단위로 표현한다
  2. 가변성
    : Date 객체는 가변(mutable) 객체이다. 즉, 사용자가 날짜와 시간을 수정 가능하지만 오류를 일으키는 원인이 될 수 있다.
  3. time
    : 요즘에는 java.time의 클래스를 사용하는것이 권장됨

메서드

  • 생성자
    Date(): 현재 날짜와 시간을 기준으로 새 Date객체 생성
    Date(long date): 지정한 밀리초 값을 기준으로 새로운 Date객체 생성
  • getTime: Date객체를 밀리초로 변환하여 반환

java.time

주요 클래스

  1. LocalDate
  • 시간대와 관련 없이 날짜를 표현(2024년 12월 24일)
  • 특정 날짜 계산(d-day) 같은 작업 수행 가능
  1. LocalTime
  • 시간대와 관련 없이 시간 표현(14:30:15)
  • 시간, 분, 초를 수치적으로 다룰 수 있다.
  1. LocalDateTime
  • 날짜와 시간을 결합하여 표현(2024-12-24T14:30:15)
  • 날짜와 시간 조작 가능

특징

  • 불변 객체
  • 정확한 계산
  • 타입 안정성
  • 직관적인 API

Code 예시(Date)


public class DateExam {
    public static void main(String[] args) {
        // 오늘 날짜
        LocalDate today = LocalDate.now();
        System.out.println("today: "+today);
        //내일 날짜= today+1
        LocalDate tomorrow=today.plusDays(1);
        System.out.println("tomorrow: "+tomorrow);

        //현재 시간
        LocalTime now= LocalTime.now();
        System.out.println("현재 시간: "+now);
        // 1시간 뒤
        LocalTime later=now.plusHours(1);
        System.out.println("1시간 뒤 시간: "+later);

        LocalDateTime dateTime=LocalDateTime.now();
        System.out.println("날짜/시간: "+dateTime);
        LocalDateTime laterTime=dateTime.plusHours(1);
        System.out.println("1시간 뒤 날짜/시간: "+laterTime);
        LocalDateTime lateDate=dateTime.plusDays(1);
        System.out.println("날짜/시간: "+lateDate);
    }
}

결과

Code 예시(Time)

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Month;

public class TimeExam {
    public static void main(String[] args) {
        LocalDateTime dateTime = LocalDateTime.now();
        System.out.println("LocalDateTime: "+dateTime);

        LocalDate date=LocalDate.of(2024, Month.DECEMBER,12);
        System.out.println("LocalDate: "+ date);
        
        LocalTime localTime=LocalTime.now();
        LocalTime time=LocalTime.of(14,52); //시간, 분 설정
        System.out.println("LocalTime.of: "+time); 
        LocalTime time2=LocalTime.parse("14:52:30");    // 문자열 설정
        System.out.println("LocalTime.parse: "+time2);

        LocalDate date2=dateTime.toLocalDate();
        System.out.println(date2);  // LocalDate 로 변환
        System.out.println(date2.getMonth());   // Month 반환
        System.out.println(date2.getMonth().getValue());    // Month 숫자로 반환
    }

}

실습

import java.time.LocalDateTime;
import java.time.LocalDate;

public class TimeExam{
    public static void main(String[] args){
        //지금이 몇월인지를 영어로(예. 1월이면 JANUARY, 2월이면 FEBRUARY) 출력하세요
        LocalDateTime ldt=LocalDateTime.now();
        LocalDate ld=ldt.toLocalDate();
        System.out.println(ld.getMonth());

        
    }
}

profile
주니어개발자(?)

0개의 댓글