반응형

Date 객체로 오늘 날짜 가져오기

1) Date 객체 생성, date객체를 직접 찍어봄

2) getTime()메소드 사용(1970년 1/1 부터 주어진 날짜 사이의 경과시간이 반환됨)

///// 1) Date 객체 생성해서 찍어보기
Date myDate = new Date();
System.out.println(myDate); //Fri Sep 03 11:34:26 KST 2021

///// 2) getTime() 
//1970 년 1 월 1 일 00:00:00 UTC와 주어진 날짜 사이의 경과 시간 (밀리 초)을 나타냄
System.out.println(myDate.getTime()); //1630635552571

 


Date 객체에 원하는 날짜 설정하기

1) setTime() 메소드 사용 (1970년 1/1과 세팅하려는 날짜 사이의 경과시간으로 세팅해야됨)

2) SimpleDateFormat을 이용한 세팅

Date myDate = new Date();

///// 1) setTime()
//1970 년 1 월 1 일 00:00:00 UTC와 설정하려는 날짜 사이의 밀리초로 세팅해야됨
myDate.setTime(1609426800000L);
System.out.println(myDate.getTime()); //1609426800000


///// 2) simpleDateFormat으로 String타입 날짜를 date로 변환하여 넣는다.
String myString = "20210101";
SimpleDateFormat dtFormat = new SimpleDateFormat("yyyyMMdd");
Date mydate = dtFormat.parse(myString);

System.out.println(mydate); //Fri Jan 01 00:00:00 KST 2021

 


Calendar 객체로 오늘 날짜 가져오기

1) setTime 으로 오늘날짜 지정 -> getTime으로 날짜 가져오기

2) cal.get(Calendar.YEAR)

* MONTH 는 0부터 시작이므로 0이 1월임. 즉 9월은 8이 출력됨.

//Calendar 객체 생성
Calendar cal = Calendar.getInstance();

///// 오늘 날짜 설정
cal.setTime(new Date());
System.out.println(cal.getTime()); //Fri Sep 03 11:23:48 KST 2021


System.out.println(cal.get(Calendar.YEAR)); /// 년도 2021
System.out.println(cal.get(Calendar.MONTH)); /// 달 8
System.out.println(cal.get(Calendar.DATE)); /// 날짜 3
System.out.println(cal.get(Calendar.HOUR));  /// 시간 
System.out.println(cal.get(Calendar.MINUTE)); /// 분 
System.out.println(cal.get(Calendar.SECOND)); /// 초

Calendar 객체에 원하는 날짜 설정하기

1) set 메소드 사용. 년, 월, 일 값으로 설정

2) setTime 메소드 사용. Date 객체로 설정

Calendar cal = Calendar.getInstance();

///// 1) set 메소드(년,월,일)
cal.set(2021,8,1);
System.out.println(cal.getTime()); //Wed Sep 01 11:23:48 KST 2021


///// 2) setTime 메소드(Date객체)
cal.setTime(mydate);
System.out.println(cal.getTime()); //Fri Jan 01 00:00:00 KST 2021

 


날짜 계산하기

1) 1일 뒤 날짜 구하기 : cal.add(Calendar.Date, 1)

2) 1달 뒤 날짜 구하기 : cal.cadd(Calendar.Month, 1);

3) 두 날짜 사이이의 간격 구하기

Calendar cal = Calendar.getInstance();
cal.setTime(new Date());

///// 오늘날짜 +1 => 내일
cal.add(Calendar.DATE,1);
System.out.println(cal.getTime()); //Thu Sep 02 11:23:48 KST 2021

///// 오늘날짜 -7 => 7일 전(일주일 전)
cal.add(Calendar.DATE,-7);

///// 오늘 달 +1 => 다음 달
cal.add(Calendar.MONTH,1);
System.out.println(cal.getTime()); //Sat Oct 02 11:23:48 KST 2021

///// 오늘 달 -1 => 저번 달
cal.add(Calendar.Month,-1);


///// 두 날짜 사이의 간격 구하기 (일 수)
SimpleDateFormat dtFormat = new SimpleDateFormat("yyyy/MM/dd");
Date sTime = dtFormat.parse("20210801");
Date eTime = dtFormat.parse("20210901");
long diffDays = (eTime.getTime() - sTime.getTime()) / 1000 / (24*60*60);

 


String -> Date

String myString = "20210101";
SimpleDateFormat dtFormat = new SimpleDateFormat("yyyyMMdd");
Date myDate = dtFormat.parse(myString);

System.out.println(myDate);
//Fri Sep 03 00:00:00 KST 2021

 

Date -> String

Date myDate = new Date();
SimpleDateFormat dtFormat = new SimpleDateFormat("yyyyMMdd");
String myString = dtFormat.format(myDate);

 

Calendar -> String

Calendar cal = Calendar.getInstance();
cal.set(2021,0,1);

SimpleDateFormat dtFormat = new SimpleDateFormat("yyyyMMdd");
String myString = dtFormat.format(cal.getTime());

System.out.println(myString); //20210101

 

String -> Calendar

String myString = "20210101";
SimpleDateFormat dtFormat = new SimpleDateFormat("yyyyMMdd");
Date myDate = dtFormat.parse(myString);
cal.setTime(mydate);

System.out.println(cal.getTime());

 

Timestamp -> String

Date st = new Date(Integer.parseInt(timestamp)*1000L);
SimpleDateFormat dtFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result = dtFormat.format(st);
반응형

+ Recent posts