반응형
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);
반응형
'코딩 관련 > Java' 카테고리의 다른 글
[JAVA] double 숫자 E 없애기 / 지수 없애기 (0) | 2021.09.06 |
---|---|
[JAVA] ArrayUtils로 배열에 값 추가하기 / 배열 합치기 / 배열 늘리기 (0) | 2021.09.06 |
[Java] CSV 생성 및 return / JAVA CSV 전달 (0) | 2021.08.26 |
[JAVA] excel 읽기 (1) | 2021.08.23 |
[JAVA] txt파일 읽기 / 쓰기 (0) | 2021.07.13 |