자바 String 날짜 비교 - jaba String naljja bigyo

============================================= 비교

SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd");

Date day1 = null;

Date day2 = null;

try {

day1 = format.parse("2012-12-16");

day2 = format.parse("2012-12-17");

}catch(ParseException e){

e.prinStackTrace();

}

int compare = day1.compareTo(day2);

if(compare > 0)

{

System.out.println("day1 > day2"); 

=============================================

============================================= 더하기

 Date date = new Date();

  System.out.println(date);

  // 포맷변경 ( 년월일 시분초)

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

  // Java 시간 더하기

  Calendar cal = Calendar.getInstance();

  cal.setTime(date);

  // 10분 더하기

  cal.add(Calendar.MINUTE, 10);

=============================================

============================================= 일 수 차이 구하기

public void calDateBetweenAandB()

{

    String date1 = "2016-09-21";

    String date2 = "2016-09-10";

    try{ // String Type을 Date Type으로 캐스팅하면서 생기는 예외로 인해 여기서 예외처리 해주지 않으면 컴파일러에서 에러가 발생해서 컴파일을 할 수 없다.

        SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");

        // date1, date2 두 날짜를 parse()를 통해 Date형으로 변환.

        Date FirstDate = format.parse(date1);

        Date SecondDate = format.parse(date2);

        // Date로 변환된 두 날짜를 계산한 뒤 그 리턴값으로 long type 변수를 초기화 하고 있다.

        // 연산결과 -950400000. long type 으로 return 된다.

        long calDate = FirstDate.getTime() - SecondDate.getTime(); 

        // Date.getTime() 은 해당날짜를 기준으로1970년 00:00:00 부터 몇 초가 흘렀는지를 반환해준다. 

        // 이제 24*60*60*1000(각 시간값에 따른 차이점) 을 나눠주면 일수가 나온다.

        long calDateDays = calDate / ( 24*60*60*1000); 

        calDateDays = Math.abs(calDateDays);

        System.out.println("두 날짜의 날짜 차이: "+calDateDays);

        }

        catch(ParseException e)

        {

            // 예외 처리

        }

}    

=============================================

참고사이트

http://computersj.tistory.com/entry/JAVA-%EB%82%A0%EC%A7%9C-%EB%B9%84%EA%B5%90-date-compare - 날짜 비교

http://d4emon.tistory.com/60 - 날짜 더하기

http://highcode.tistory.com/5 - 일 수 차이 구하기4

안녕하세요 이번에는 자바에서 날짜 비교하는 방법에 대해 간단히 알려드리고자 합니다.

우선 SimpleDateFormat을 이용하여 원하는 형식으로 변환 후 비교를 합니다.

 

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateCompare {
	public static void main(String[] args) {
		SimpleDateFormat dateFormat= new SimpleDateFormat( "yyyy-MM-dd" );
        Date day1 = null;
        Date day2 = null;
		try {
			day1 = dateFormat.parse("2019-06-03");
			day2 = dateFormat.parse( "2019-06-05" );
		} catch (ParseException e) {
			e.printStackTrace();
		}
		
        int compare = day1.compareTo( day2 );
        if ( compare > 0 )
        {
            System.out.println( "day1 > day2" );
        }
        else if ( compare < 0 )
        {
            System.out.println( "day1 < day2" );
        }
        else
        {
            System.out.println( "day1 = day2" );
        }

	}

}

 

자 이렇게 compareTo를 이용하여 날짜를 비교합니다.

참고로 SimpleDateFormat 사용이 try catch 구문을 반드시 이용하여야 합니다.

이상입니다.

감사합니다.

공유하기

게시글 관리

구독하기배씨의 프로그래밍

저작자표시

  • 카카오스토리
  • 트위터
  • 페이스북

'프로그래밍 > 스프링[Spring]' 카테고리의 다른 글

[스프링] 스프링 시큐리티 처음에만 로그인이 안 되는 현상[PreparedStatementCallback]  (0)2019.06.27[스프링] log4J 처음 사용하기[xml 이용]  (0)2019.06.18[스프링] 스프링에서 네이버 이메일을 이용한 Email 발송방법  (0)2019.05.07[Spring] 스프링 SpEL를 이용한 프로퍼티 설정  (0)2019.05.03[Spring] No adapter for handler 해결 하기[HTTP Status 500]  (0)2019.05.02

그만큼 Date.compareTo()3 클래스는 또한 세 가지 방법을 제공합니다. java.util.Date4, java.util.Date5 그리고 java.util.Date6, 두 가지를 비교하는 데 사용할 수 있습니다. java.util.Date. 이 방법은 피해야 합니다.

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

31

32

33

34

35

36

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

 

// Java에서 두 날짜를 비교하는 프로그램

class Main

{

    public static void main(String[] args)

    {

        String d1 = "10-20-2016";

        String d2 = "10-12-2015";

 

        String pattern = "MM-dd-yyyy";

        SimpleDateFormat sdf = new SimpleDateFormat(pattern);

 

        Calendar cal1 = Calendar.getInstance();

        Calendar cal2 = Calendar.getInstance();

        try {

            cal1.setTime(sdf.parse(d1));

            cal2.setTime(sdf.parse(d2));

        }

        catch (ParseException e) {

            e.printStackTrace();

        }

 

        if (cal1.after(cal2)) {

            System.out.printf("%s is after %s", d1, d2);

        }

        else if (cal1.before(cal2)) {

            System.out.printf("%s is before %s", d1, d2);

        }

        else if (cal1.equals(cal2)) {

            System.out.print("Both dates are equal");

        }

    }

}

다운로드  코드 실행

결과:

10-20-2016 is after 10-12-2015

4. 사용 Date.compareTo()8, Date.compareTo()9, value = 00 행동 양식

Java 8에서는 다음을 사용할 수 있습니다. Date.compareTo()8, Date.compareTo()9, value = 00 비교하는 방법 java.time.LocalDate, java.time.LocalTime 그리고 java.time.LocalDateTime.