날짜와 시간 표현에 사용되는 패키지, 클레스들
java.util.Date 클래스 - 날짜 표현, 객체간 날짜 장보를 주고 받을 때 사용
java.util.Calenda 클래스 - 달력 표현, 날짜 계산 작업시 사용 (String), 추상 클래스
java.time 패키지
* 변환에 사용되는 메서드들
parse - String 타입에서 -> 다른 타입으로 변환
Integer.parseInt("문자열") - 정수로 이루어진 문자열이라면 정수로 변환 (String -> int)
SimpleDateFormat 클래스 - 날짜 형식 지정 클래스
SimpleDateFormat("패턴") 생성자를 사용하면 날짜를 해당 패턴으로 지정
SimpleDateFormat.parse("패턴") - 해당 패턴대로 날짜로 변환 (String -> Date)
formet - 다른 타입에서 -> String 타입으로 변환
SimpleDateFormat.format(Date) : Date -> String
import java.util.Date;
public class DateEx {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
}
}
-> Mon Dec 27 15:18:51 KST 2021
현재 시간
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateEx {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); //"yyyy/MM/dd" 패턴 지정
String now = sdf.format(date); //Date -> String
System.out.println(now);
}
}
-> 2021/12/27
날짜에 패턴을 지정하고 문자열로 변환
여기까지 now는 String타입 "2021/12/27" 문자열로 되어있다.
Date nowdate = sdf.parse(now); //String -> Date
Calendar calendar = Calendar.getInstance(); //추상클래스로 new가 아닌 get메서드로 사용
calendar.setTime(nowdate);//Date -> Calendar
calendar.add(Calendar.MONTH, 6); //MONTH 에 6 추가
Date after6date = new Date(calendar.getTimeInMillis()); // Calendar -> Date
String after6 = sdf.format(after6date);//Date -> String
System.out.println("6개월 후 - " + after6);
-> 6개월 후 - 2022/06/27
변환되는 타입을 잘 보고 쓰기!
열심히 썼던 요일 출력 예제..
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class DateEx2 {
//화면에 날짜 (yyyy/MM/dd)를 입력받아 입력한 날짜의 요일을 출력하세요
public static void main(String[] args) throws ParseException {
Scanner scan = new Scanner(System.in);
System.out.println("요일을 알고싶은 날짜를 입력해주세요 yyyy.MM.dd");
String input = scan.next();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
Date day = sdf.parse(input);
Calendar cday = Calendar.getInstance();
cday.setTime(day);
int week = cday.get(Calendar.DAY_OF_WEEK);
if(week == Calendar.SUNDAY) {
System.out.println("일요일입니다");
}else if(week == Calendar.MONDAY) {
System.out.println("월요일입니다");
}else if(week == Calendar.TUESDAY) {
System.out.println("화요일입니다");
}else if(week == Calendar.WEDNESDAY) {
System.out.println("수요일입니다");
}else if(week == Calendar.THURSDAY) {
System.out.println("목요일입니다");
}else if(week == Calendar.FRIDAY) {
System.out.println("금요일입니다");
}else if(week == Calendar.SATURDAY) {
System.out.println("토요일입니다");
}
}
}'JAVA' 카테고리의 다른 글
| Java 람다식, 람다함수 (0) | 2022.01.06 |
|---|---|
| Java 내부(inner)클래스 (0) | 2022.01.06 |
| Java java.util / Collection,List ,Set,Map인터페이스 / 주요 메서드 정리 (0) | 2021.12.22 |
| Java Class 클래스, java.util 패키지, 제네릭<> (0) | 2021.12.22 |
| Java Class Math, Wrapper, 참조형형변환 (0) | 2021.12.06 |