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("같은 날짜입니다.");
}
}
}
'개발공부 > JAVA' 카테고리의 다른 글
[인프런강의] 더 자바, 자바8 1강 (0) | 2022.08.20 |
---|---|
[JAVA] Jsoup 사용하여 네이버 주가 크롤링 (소스포함) (7) | 2021.07.13 |
[JAVA] 문자열 자르기 ( indexOf()/ substring() / split() ) (0) | 2021.04.13 |
자바스터디 9주차 feat.백기선님 (예외처리) (0) | 2021.02.03 |
자바스터디 8주차 feat.백기선님 (인터페이스) (0) | 2021.01.05 |