MENU

Java 날짜 및 시간 계산 가산 및 빼기 쉽게

목차

Java 날짜/시간 계산가산·감산이 간단하게

Java로 쉽게날짜/시간 가산/감산 계산하는 샘플 프로그램을 소개합니다.
샘플 프로그램의 특징은 다음과 같습니다.

  • 현재, 또는 임의의 일자·시각으로부터 지정의 시간량을 가산·감산한 결과를 돌려줍니다.
  • 플러스의 수치를 지정했을 경우 시간을 진행해, 마이너스의 경우는 돌려줍니다.
    예를 들어, 현재 날짜 시간으로부터 10 일 전계산하는 경우는 이하가 됩니다.
    Calendar cal = addMonth(-10);
  • 연, 월, 일, 시간, 분, 초 및 밀리초의 각 시간 필드에 대해 임의의 시간을 설정할 수 있습니다.
    또한 지정된 시간부터 상대적으로계산그렇다면 인수에 Calendar 클래스를 전달합니다.
    예를 들어, 다음에서는 지정된 Calendar 인스턴스에서 1년 진행됩니다.
    Calendar cal = add(“지정된 Calendar”,1,0,0,0,0,0,0);
  • 각 시간 필드의 값이 해당 범위를 초과하면 다음과 같은 큰 시간 필드가 증가 또는 감소됩니다.
    예를 들어, 아래에서는 현재 시각으로부터 1시간과 5분 진행하게 됩니다.
    Calendar cal = addMinute(65);


샘플 프로그램


실행

샘플 프로그램에서는 리턴값으로계산 후의 일자를 보관 유지하는 java.util.Calendar 객체를 취득할 수 있으므로, java.util.Calendar#getTime() 메소드에 의해, java.util.Date로 변환해 java.text.SimpleDateFormat 에 의해 일자 캐릭터 라인으로 변환하고 있습니다.

◆실행예

public static void main(String[] args) { SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); System.out.println("현재 날짜/시간 = "+ f.format( add(null,0,0,0,0,0,0,0).getTime())); System.out.println("1년 후 날짜 및 시간 = "+ f.format(addYera(1) .getTime())); System.out.println("1개월 전 날짜/시간 = "+ f.format(addMonth(-1).getTime())); System.out.println("3시간 후 날짜/시간 = "+ f.format(addHour(3).getTime())); System.out.println("30시간 전 날짜/시간 = "+ f.format(addHour(-30).getTime) ())); System.out.println("40분 후 날짜/시간 = "+ f.format(addMinute(40).getTime())); System.out.println("80초 후 날짜 time = "+ f.format(addSecond(80).getTime())); -1,4,0,0,0,0).getTime())); }

◆실행 결과
현재 날짜 시간은 2008/03/25 00:00:00입니다.

현재 날짜 / 시간 = 2008/03/25 00:00:00 1 년 후 날짜 / 시간 = 2009/03/25 00:00:00 1 개월 전 날짜 / 시간 = 2008/02/25 00:00 :00 3시간 후의 날짜・시간 = 2008/03/25 03:00:00 30시간 전의 날짜・시간 = 2008/03/23 18:00:00 40분 후의 날짜・시간 = 2008/03/ 25 00:40:00 80초 후의 날짜・시간 = 2008/03/25 00:01:20 1개월 전부터, 4일 후의 날짜・시간 = 2008/02/29

※2008년은 윤년 때문에 2월의 월말 일자는 29일이 됩니다.

이 샘플 프로그램은 Chat & Messenger의 "캘린더 일정 관리 기능"에서 실제로 사용하고 있습니다.

  • URL을(를) 확인했습니다!
목차