날짜와 시간을 가지고 있는 클래스
(date 보단 calendar 를 쓰라고 권장함)
<종류>
-Date
-Calendar
밑에 예제처럼 date처럼 new를 사용하면 에러가 난다. new를 이용해 직접 객체를 생성할 수 없다
메소드 중에 calendar를 생성해서 주는게 있음
-GregorianCalendar
윤년에 대한 파악을 할 수 있는 클래스
Calendar보다 쓰기 쉽도록 new를 이용해 만들 수 있다.
(Calendar에 윤년에 대한 개념 추가된것)
-System.currentTimeMillis
1970년 1월 1일 이후부터 현재 까지의 시간을 밀리세컨으로 반환
사용용도
1) 날짜 처리
2) 특정작업을 수행하는데 걸린 시간
3) 난수발생
<Date 와 Calendar 차이>
Date 클래스는 일요일 ==> 0 부터 시작
Calendar 클래스는 일요일 ==> 1 부터 시작
<순서>
1. Date 예제
: 사용자의 출생년도를 입력받아 암검진 대상자 판별하는 프로그램 작성
2. Calendar 예제
3. GregorianCalendar 예제
: 윤년 판별 프로그램
4. System.currentTimeMillis 예제
: 사용 용도에 따른 3가지
<Date 예제>
: 사용자의 출생년도를 입력받아 암검진 대상자 인지 판별하는 프로그램을 작성하시오.
<처리조건>
나이가 40세 이상이고 짝수연도에 태어난 사람이 무료 암검진 대상자 이다.
<코드>
import java.util.Date;
import java.util.Scanner;
class CancerTest{
public static void main(String[] args) {
Date today = new Date();
Scanner sc = new Scanner(System.in);
System.out.print("태어난 연도를 입력하세요 ==> ");
int input = sc.nextInt();
int year = today.getYear()+1900;
if (input >= (year-40)){
System.out.println("아직 나이가 40세 미만 입니다.");
}
if (input <= (year-40)){
if ( 0 == input % 2 ){
System.out.println("암검진 대상자입니다.");
}else{
System.out.println("암검진 대상자가 아닙니다.");
}
}
}
}
<Calendar 예제>
<코드>
import java.util.Calendar;
class CalendarTest{
public static void main(String[] args) {
Calendar today = new Calendar();
System.out.println(today);
}
}
<밑에 처럼 사용한다>
import java.util.Calendar;
class CalendarTest{
public static void main(String[] args) {
Calendar today = Calendar.getInstance();
System.out.println(today);
}
}
<GregorianCalendar 예제>
: 사용자로 부터 연도를 입력받아 그 해가 윤년인지 판단하는 프로그램을 작성
<코드>
import java.util.Scanner;
import java.util.GregorianCalendar;
class GregorianCalendarTest{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("궁금한 연도를 입력하세요 ===>");
int input = sc.nextInt();
GregorianCalendar year = new GregorianCalendar();
if (year.isLeapYear(input) ){
System.out.println("윤년입니다.");
}else{
System.out.println("윤년이 아닙니다");
}
}
}
<System.currentTimeMillis 예제>
사용용도
1. 날짜 처리
2. 특정 작업을 수행하는데 걸린시간
3. 난수발생
<기본 예제>
class DateTest03 {
public static void main(String[] args) {
long current = System.currentTimeMillis();
//1970년 1월 1일 이후부터 현재 까지의 시간을 밀리세컨으로 반환
System.out.println(current);
}
}
<날짜처리>
import java.util.Date;
class DateTest03 {
public static void main(String[] args) {
long current = System.currentTimeMillis();
//1970년 1월 1일 이후부터 현재 까지의 시간을 밀리세컨으로 반환
System.out.println(current);
Date today = new Date(current);
int year = today.getYear()+1900;
int month = today.getMonth()+1;
int date = today.getDate();
System.out.println(year + "년" + month + "월" + date + "일");
}
}
<특정 작업을 수행하는데 걸린 시간>
import java.util.Date;
class DateTest04 {
public static int getSum(int n){
int sum = 0;
for ( int i = 1 ; i <=n ; i++ ){
sum = sum + i;
}
//의도적으로 멈추게 할것임 걸린시간을 보기위해
//1000 은 1초를 얘기함 고로 밑에 3000은 3초
try{
Thread.sleep(3000);
}catch(Throwable e){
}
return sum;
}
public static void main(String[] args) {
long start = System.currentTimeMillis();
int r = getSum(1000000);
long end = System.currentTimeMillis();
System.out.println("결과 : " + r);
System.out.println("걸린시간 : " + (end-start) );
}
}
<난수발생>
class DateTest05 {
public static void main(String[] args) {
long r = System.currentTimeMillis();
//값 제한하기 0~9까지의 난수 발생
System.out.println(r % 10);
}
}
'JAVA > JAVA' 카테고리의 다른 글
자바 컬렉션 프레임워크에 대한 설명 (0) | 2016.06.12 |
---|---|
자바 Wrapper class 관련 설명 및 예제 (0) | 2016.06.12 |
자바 예제 - Calendar : Calendar 를 이용한 월,일,시,분,초 그리고 요일 알아내기 (0) | 2016.06.12 |
자바 예제 - Date : Date 을 이용한 월,일,시,분,초 그리고 요일 알아내기 (0) | 2016.06.12 |
자바 예제 - StringTokenizer : 문자열의 각 단어의 빈도수를 구하여 출력하는 프로그램을 작성(String.split) (0) | 2016.06.12 |