Binary World

JAVA CLASS : Date ,Calendar 클래스 본문

개발자의 길/JAVA

JAVA CLASS : Date ,Calendar 클래스

모쿠 2017. 1. 6. 13:27

<Date, Calendar 클래스>

* 시스템의 시간 정보를 통해 날짜, 시간 등을 출력할수 있게 해주는 클래스  

* java.util 패키지에 포함



<프로그램 코드>


* DateMain01.java (Date 클래스의 기본 생성자, 형태)


package edu.java.date01;


import java.util.Date;


public class DateMain01 {


public static void main(String[] args) {

// 시스템의 현재 시간 정보

Date date = new Date(); //java.util

System.out.println(date);

System.out.println(date.getTime());

System.out.println();

// 1970년 1월 1일 0시 0분 0초를 기준(0)으로 삼아서

// milli-second(1/1000초)마다 1씩 증가시킨 값

Date date2 = new Date(0L);

System.out.println(date2);

Date date3 = new Date(1000L);

System.out.println(date3);

// 더이상 사용하지 않는(deprecated) 생성자

Date date4 = new Date(2017-1900, 0, 6); //2017-01-06

// 자바는 월을 배열처럼 0부터 시작하기 때문에 1월을 출력하면 0으로 시작해야함

// 직선이 그어져 있는 메소드는 오라클에서 언제든지 없앨 수 있는 메소드

System.out.println(date4);

}


}



* 출력화면


Fri Jan 06 13:20:17 KST 2017

1483676417975


Thu Jan 01 09:00:00 KST 1970

Thu Jan 01 09:00:01 KST 1970

Fri Jan 06 00:00:00 KST 2017 



* DateMain02.java (날짜를 원하는 형식으로 출력)


package edu.java.date02;


import java.text.SimpleDateFormat;

import java.util.Date;


public class DateMain02 {


public static void main(String[] args) {

// 날짜를 원하는 형식(format)으로 출력

Date currentDate = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 날짜 출력 형식 변환

String dateString = sdf.format(currentDate); // 문자열 형태로 저장

System.out.println(dateString);

sdf = new SimpleDateFormat("yy-MM-dd hh:mm:ss");

dateString = sdf.format(currentDate);

System.out.println(dateString);


} // end main()


} // end class DateMain02 



* 출력화면


2017-01-06 13:22:37

17-01-06 01:22:37 



* DateMain03.java (Calendar, GragorianCalendar 클래스)


package edu.java.date03;


import java.util.Calendar;


public class DateMain03 {


public static void main(String[] args) {

// Calendar, GragorianCalendar 클래스

// |__ GragorianCalendar: Calendar의 자식 클래스

Calendar cal = Calendar.getInstance();

// GragorianCalendar의 인스턴스(현재 시간)를 생성하고 리턴

System.out.println(cal);

// Calendar 인스턴스에서 날짜와 시간 정보 추출

int year = cal.get(Calendar.YEAR);

System.out.println("year: " + year);

int month = cal.get(Calendar.MONTH) + 1;

System.out.println("month: " + (month));

// MONTH: 1월(0) ~ 12월(11)

int day = cal.get(Calendar.DAY_OF_MONTH);

System.out.println("day: " + day); // DAY: 1 ~ 31

int hour = cal.getMaximum(Calendar.HOUR);

System.out.println(hour);

// HOUR: 12시간 단위, HOUR_OF_DAY: 24시간 단위

int minute = cal.get(Calendar.MINUTE);

System.out.println("minute: " + minute);

int second = cal.get(Calendar.SECOND);

System.out.println("second: " + second);

 

String dateString = String.format("%d/%d/%d %d:%d:%d", year, month, day, hour, minute, second);

System.out.println(dateString);


} // end main()


} // end class DateMain03 



* 출력화면


java.util.GregorianCalendar[time=1483676580988,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=22,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2017,MONTH=0,WEEK_OF_YEAR=1,WEEK_OF_MONTH=1,DAY_OF_MONTH=6,DAY_OF_YEAR=6,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=23,SECOND=0,MILLISECOND=988,ZONE_OFFSET=32400000,DST_OFFSET=0]

year: 2017

month: 1

day: 6

11

minute: 23

second: 0

2017/1/6 11:23:0 



* DateMain04.java ( Calendar 객체를 이용해서 특정 날짜/시간으로 객체 생성)


package edu.java.date04;


import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.GregorianCalendar;


public class DateMain04 {


public static void main(String[] args) {

// Calendar 객체를 이용해서 특정 날짜/시간으로 객체 생성

Calendar cal = new GregorianCalendar(2017, 1, 6);

// new GregorianCalendar(year, month, day)

// (주의) month: 0 ~ 11

int year = cal.get(Calendar.YEAR);

int month = cal.get(Calendar.MONTH);

int day = cal.get(Calendar.DAY_OF_MONTH);

String str = String.format("%d-%02d-%02d", year, month, day);

System.out.println(str);

System.out.println();

// Calendar 객체 -> Date 객체로 변환

// -> SimpleDateFormat을 사용하는 방법

Calendar birth = new GregorianCalendar(1993, 0, 11);

// 1993-1-11

Date date = birth.getTime();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

String birthString = sdf.format(date);

System.out.println(birthString);


} // end main()


} // end class DateMain04 



* 출력화면


2017-01-06


1993/01/11 00:00:00 


Comments