Notice
Recent Posts
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 필터체인
- 자바
- Eclipse
- Spring
- 깃허브 간단요약
- 설치
- html
- MySQL
- 오라클
- 버튼
- jquery
- jsp
- jstl
- 폼태그
- 제이쿼리
- 마이바티스
- java
- 깃허브
- 설정
- EL태그
- 이클립스
- 셋업
- springboot
- 자바스크립트
- Oracle
- 면접
- SESSION
- 알고리즘
- 스프링
- jsp 내부객체
Archives
- Today
- Total
은은하게 코드 뿌시기
java Calendar , date 본문
728x90
* Calendar , date 의기존의 단점들을 개선한 새로운 클래스 ==> JAVA.TIME패키지
* Calendar
: 추상클래스, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어 사용.
Calendar를 상속받아 완전히 구현한 클래스로는 GregorainCalender 와 BuddhistCalendar가 있는데 getInstance()는
시스템의 구각와 지역설정을 확인해서 태국인경우 BuddhistCalendar의 인스턴스를 반환하고 그외에 지역에는 BuddhistCalendar 인스턴스를 반환한다.
*요일은1부터시작, 월은 0부터시작 예제참고
*원하는 날짜로 설정은 set함수 사용 예제참고
Calendar cal = Calendar.getInstance(); |
* Date와 Calendar간의 변환
//Calendar 를 Date로 변환 Calendar cal = Calendar.getInstance(); Date d = new Date(cal.getTimeInMillis()); //Date를 Calendar로 변환 Date d1 = new Date(); Calendar cal1 = Calendar.getInstance(); cal1.setTime(d1); |
* roll함수 add함수차이 :
: add함수 다른필드에 영향을 미침, roll함수 다른 필드에 영향을 미치지 않음, 예제참고
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package Capter10;
import java.util.Calendar;
import java.util.Date;
public class Ex10_1 {
public static void main(String[] args) {
//Calendar 를 Date로 변환
Calendar cal = Calendar.getInstance();
Date d = new Date(cal.getTimeInMillis());
//Date를 Calendar로 변환
Date d1 = new Date();
Calendar cal1 = Calendar.getInstance();
cal1.setTime(d1);
System.out.println("연 : " + cal1.get(Calendar.YEAR));
System.out.println("월(0~11): " + cal1.get(Calendar.MONTH));
System.out.println("일 : " + cal1.get(Calendar.DAY_OF_MONTH));
System.out.println("이해의 몇째주 : " + cal1.get(Calendar.WEEK_OF_YEAR));
System.out.println("이 달의 몇째쭈 : " + cal1.get(Calendar.WEEK_OF_MONTH));
System.out.println("이 달의 마지막날 : " + cal1.getActualMaximum(Calendar.DATE));
System.out.println("오전/오후 : " + cal1.get(Calendar.AM_PM));
System.out.println("시 : " + cal1.get(Calendar.HOUR));
System.out.println("분 : " + cal1.get(Calendar.MINUTE));
System.out.println("초 : " + cal1.get(Calendar.SECOND));
}
}
|
cs |
실행결과 |
연 : 2022 월(0~11): 6 일 : 25 이해의 몇째주 : 31 이 달의 몇째쭈 : 5 이 달의 마지막날 : 31 오전/오후 : 1 시 : 10 분 : 3 초 : 32 |
*날짜간 차이구하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package Capter10;
import java.util.Calendar;
public class Ex10_2 {
public static void main(String[] args) {
//요일은 1부터시작
String[] dname = {"", "일", "월", "화", "수", "목", "금","토"};
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
//월은 0부터 시작
cal1.set(2022, 6 ,1); //22년7월1일로설정
cal1.set(2022, 6 ,1,0,0,0); //22년7월1일로설정 시간까지 설정
cal2.set(2022, 6 ,24); //22년7월24일로설정
cal2.set(2022, 6 ,24,1,1,41); //22년7월24일로설정 시간까지설정
System.out.printf("날짜1 : %d/%d/%d %s %n" ,cal1.get(Calendar.YEAR)
,cal1.get(Calendar.MONTH)+1
,cal1.get(Calendar.DAY_OF_MONTH)
,dname[cal1.get(Calendar.DAY_OF_WEEK)]);
System.out.printf("날짜2 : %d/%d/%d %s %n" ,cal2.get(Calendar.YEAR)
,cal2.get(Calendar.MONTH)+1
,cal2.get(Calendar.DAY_OF_MONTH)
,dname[cal2.get(Calendar.DAY_OF_WEEK)]);
//두날짜 차이
//getTimeInMillis : milliseconds.단위
long differ =(cal2.getTimeInMillis()- cal1.getTimeInMillis())/1000;
//초단위로 변환
System.out.println("두날짜차이 :" + differ +"초");
//일 단위로 변환
System.out.println(differ/(24*60*60) + " 일");
cal1.add(Calendar.MONTH, 1);
System.out.printf("날짜1 한달후 : : %d/%d/%d %s %n" ,cal1.get(Calendar.YEAR)
,cal1.get(Calendar.MONTH)+1
,cal1.get(Calendar.DAY_OF_MONTH)
,dname[cal1.get(Calendar.DAY_OF_WEEK)]);
cal2.roll(Calendar.DATE, 8);
System.out.printf("roll 8일 더하기 : : %d/%d/%d %s %n" ,cal2.get(Calendar.YEAR)
,cal2.get(Calendar.MONTH)+1
,cal2.get(Calendar.DAY_OF_MONTH)
,dname[cal2.get(Calendar.DAY_OF_WEEK)]);
}
}
|
cs |
실행결과 |
날짜1 : 2022/7/1 금 날짜2 : 2022/7/24 일 두날짜차이 :1990901초 23 일 날짜1 한달후 : : 2022/8/1 월 roll 8일 더하기 : : 2022/7/1 금 |
728x90
'자바 > 자바 기본' 카테고리의 다른 글
형식화 클래스 : SimpleDateFormat (0) | 2022.07.25 |
---|---|
형식화 클래스 : DeimalFormat (0) | 2022.07.25 |
데몬쓰레드(daemon thread) (0) | 2022.07.06 |
쓰레드 그룹(thread group) (0) | 2022.07.06 |
쓰레드 우선순위 (0) | 2022.07.05 |
Comments