Calendar 클래스는 시스템에서 날짜와 시간정보를 가져온다.
Calendar 클래스는 추상클래스이기 때문에 직접 인스턴스를 생성할 수는 없다. 대신 static 메소드를 사용하여 Calendar 클래스를 구현한 Calendar 형 인스턴스를 반환한다. TimeZone에 따라 시간 표기가 다른 국가가 있기 때문이다. 직접 인스턴스를 생성하지 않지만, getInstance()를 통해서 인스턴스를 받으면 시간에 대한 정보를 사용 할 수 있다.
Calendar now1 = Calendar.getInstance(); // Calendar 의 클래스 메소드 getInstance를 사용해서 인스턴스를 받음
Calendar 형 참조변수 now1로 아래 예제 처럼 사용할 수 있다.
now1.get(Calenedar.YEAR)
– 년도
now1.get((Calenedar.MONTH) 1)
– 월
now1.get(Calenedar.DAY_OF_MONTH)
– 일
다양한 Calendar 클래스 상수들이 정의되어 있다. javadoc에서 찾아보자. 년, 월, 일, 시, 분, 초 뿐 아니라 다양한 시간관련 정보를 사용할 수 있다.
Calendar 클래스는 20년 넘게 사용되고 있으니 여러가지를 시도해보자. JDK는 내용이 방대해서 하나하나 다 외울 수가 없다. 필요할 때 마다 찾아서 쓸 수 있는 센스와 응용력이 필요하다.
아래는 Swing GUI을 사용한 Calendar 예제다.
import java.awt.Font;
import java.util.Calendar;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class CalendarEX extends JFrame{
Font f1;
CalendarEX(){
f1 = new Font(\"배달의민족 도현\",Font.PLAIN,20);
//JLabel1
Calendar now1 = Calendar.getInstance();
JLabel lb1 = new JLabel();
lb1.setBounds(100, 100, 300, 40);
lb1.setFont(f1);
String t1 =\"오늘날짜: \" now1.get(Calendar.YEAR) \" 년 \"
(now1.get(Calendar.MONTH) 1) \" 월 \" now1.get(Calendar.DAY_OF_MONTH) \" 일\";
lb1.setText(t1);
//JLable2
JLabel lb2 = new JLabel();
lb2.setBounds(100, 150, 300, 40);
lb2.setFont(f1);
String t2 =\"지금시각 \" now1.get(Calendar.HOUR_OF_DAY) \"시 \" now1.get(Calendar.MINUTE) \"분 \"
now1.get(Calendar.SECOND) \"초 이다.\";
lb2.setText(t2);
// JTextField
JTextField tf1 = new JTextField();
tf1.setBounds(100, 200, 300, 40);
tf1.setFont(f1);
String t3 = \" 1년중에 \" now1.get(Calendar.DAY_OF_YEAR) \"일이 지났다\";
tf1.setText(t3);
// JFrame
add(lb1);add(lb2);add(tf1);
setTitle(\"Calendar Example\");
setSize(500,400);
setLayout(null);
setVisible(true);
}
public static void main(String[] args) {
new CalendarEX();
}
}
*자바8 캘린더 클래스
Calendar (Java Platform SE 8 )
Adds or subtracts (up/down) a single unit of time on the given time field without changing larger fields. For example, to roll the current date up by one day, you can achieve it by calling: roll(Calendar.DATE, true). When rolling on the year or Calendar.YE
docs.oracle.com
*스윙에 대한 포스트
자바 튜토리얼 (10-1) Java GUI Swing JFrame 윈도우창 만들기
자바의 GUI Swing 의 튜토리얼이다. AWT GUI 이후 오늘날까지 사용되고 있는 Java의 GUI 프레임웤이다. AWT가 먼저나왔으니까 AWT GUI를 먼저 해보던 상관은 없다. Swing 이 훨씬 쓸만하도록 설계되어 있다.
digiconfactory.tistory.com
相关推荐
Calendar 클래스 예제 2 | 자바 JDK | 두 날짜간 연산 한글요일
Calendar 클래스 예제 3 | 자바 JDK | 시간을 연산, 시분초 단위로
자바 튜토리얼 (9-3) 인터페이스 다중 구현, 상속
자바 튜토리얼 (10-1) Java Swing JFrame 윈도우창 만들기
자바 튜토리얼 (10-2) Java Swing JButton, JLabel
자바 튜토리얼 (10-3) Java Swing JTextField, JTextArea 예제
자바 튜토리얼 (10-4) Java Swing | 로그인창 예제,JPasswordField
Calendar 클래스 예제 4 | 자바 JDK | 날짜 연산, 달력만들기(콘솔)
最新评论
嗨,这是一条评论。 要开始审核、编辑及删除评论,请访问仪表盘的“评论”页面。 评论者头像来自Gravatar。