Java 년도 리스트 - Java nyeondo liseuteu

Date를 쓰면 보통 4개의 클래스를 import한다.


1. java.text.SimpleDateFormat : 날짜 형식 맞추기 위함
2. java.text.parseException : string에서 date 형식으로 바꿔 줄 때 parse를 쓰는데 exception 적용필요
3. java.util.Calendar : 날짜 더하고 빼고 위함
4. java.util.Date : 날짜 구하기 위함

🔸String에서 Date형식으로 변환 / Date에서 String 형식으로 변환

: String=> Date 
Date date = format.parse(sdate);

: Date => String
String sdate = format.

format(date);

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class test { public static void main(String[] args) throws ParseException { String sdate = "20210629"; SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); //string => date Date date = format.parse(sdate); //date => string sdate = format.format(date); System.out.println("date형식:"+date); System.out.println("string형식:"+sdate); } }
출력값

🔸현재 날짜,시간 구하기

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class test { public static void main(String[] args) throws ParseException { Date now = new Date(); SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); System.out.println("오늘 날짜 현재 시간(기본형식): "+now); System.out.println("지정한 형식: "+format.format(now)); } }
출력값

🔸현재 날짜 년,월,시간 구하기 (Calendar객체 사용)

import java.text.ParseException; import java.util.Calendar; import java.util.Date; public class test { public static void main(String[] args) throws ParseException { Date now = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(now); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH) + 1; //0부터 시작하기 때문에 1더해준다 int day = cal.get(Calendar.DAY_OF_MONTH); int hour = cal.get(Calendar.HOUR_OF_DAY); int min = cal.get(Calendar.MINUTE); int sec = cal.get(Calendar.SECOND); System.out.println(year + "년도 " + month + "월 " + day + "일 " + hour + "시 " + min + "분 " + sec + "초"); } }

🔸현재 날짜 년,월,시간  더하기 및 빼기 (Calendar객체 사용)

import java.text.ParseException; import java.util.Calendar; import java.util.Date; public class test { public static void main(String[] args) throws ParseException { Date now = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(now); cal.add(Calendar.YEAR, 1); //1년 더하기 cal.add(Calendar.MONTH, -3); //3개월 빼기 cal.add(Calendar.DATE, 2); //2일 더하기 cal.add(Calendar.HOUR_OF_DAY, -2); //2시간빼기 cal.add(Calendar.MINUTE, 20); //20분 더하기 cal.add(Calendar.SECOND, -10); //10초 빼기 } }

🔸날짜 비교방법 (compareTo사용)

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class test { public static void main(String[] args) throws ParseException { Date date1 = new Date(); Date date2 = new Date(); SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); date1 = format.parse("20210629"); date2 = format.parse("20110328"); if(date1.compareTo(date2) > 0) { System.out.println("date1이 더 미래 날짜입니다."); }else if(date1.compareTo(date2) < 0) { System.out.println("date1이 더 과거 날짜입니다."); }else { System.out.println("같은 날짜입니다."); } } }

SimpleDateFormat, Calendar 클래스를 이용하여 특정 날짜에서 더하거나 뺀 날짜를 구할 수 있다.

import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateAdd { public static void main(String[] args) throws Exception{ String date = "20200801"; //1년 후 날짜 String addYear = AddDate(date, 1, 0, 0); //1달 후 날짜 String addMonth = AddDate(date, 0, 1, 0); //1일 후 날짜 String addDay = AddDate(date, 0, 0, 1); System.out.println(addYear); //20210801 System.out.println(addMonth); //20200901 System.out.println(addDay); //20200802 } private static String AddDate(String strDate, int year, int month, int day) throws Exception { SimpleDateFormat dtFormat = new SimpleDateFormat("yyyyMMdd"); Calendar cal = Calendar.getInstance(); Date dt = dtFormat.parse(strDate); cal.setTime(dt); cal.add(Calendar.YEAR, year); cal.add(Calendar.MONTH, month); cal.add(Calendar.DATE, day); return dtFormat.format(cal.getTime()); } }

위의 예제와 같이 Calendar 객체의 add() 메서드를 사용하면 원하는 날짜를 계산할 수 있다.

만약 특정일 기준으로 원하는 날짜만큼 빼려면 원하는 만큼의 년, 월, 일에 -(마이너스)를 붙여 add 메서드 파라미터에 세팅한다.

//year 년 전 cal.add(Calendar.YEAR, -year); //month 월 전 cal.add(Calendar.MONTH, -month); //month 일 전 cal.add(Calendar.DATE, -day);

어제 날짜 구하기(일 년 전, 한 달 전)

//위의 메소드에 적용하면 다음과 같이 파라메터를 세팅하면된다. //일년 전 AddDate(date, -1, 0, 0); //한달 전 AddDate(date, 0, -1, 0); //하루 전 AddDate(date, 0, 0, -1);

Toplist

최신 우편물

태그