java.util.Calendar

java.util.Calendar

The java.util.Calendar class is used to represent the date and time. The year, month, day, hour, minute, second, and milliseconds can all be set or obtained from a Calendar object. The default Calendar object has the current time in it. There are also methods for making data calculations.

Other related classes: Date, and DateFormat, ...

To get the current time

The default Calendar constructor produces an object whose fields are set to the current time for the default timezone and locale.

Calendar now = Calendar.getInstance();

 

Getting the value of the fields

The following field names can be used as an argument to the Calendar.get(. . .)method. In all of these examples, tis a Calendar object.

Access Method
Meaning

t.get(Calendar.YEAR)
int value of the year

t.get(Calendar.MONTH)
int value of the month (0-11)

t.get(Calendar.DAY_OF_MONTH)
int value of the day of the month (1-31)

t.get(Calendar.DAY_OF_WEEK)
int value of the day of the week (0-6)

t.get(Calendar.HOUR)
int value of the hour in 12 hour notation (0-12)

t.get(Calendar.AM_PM)
returns either Calendar.AM or Calendar.PM

t.get(Calendar.HOUR_OF_DAY)
int value of the hour of the day in 24-hour notation (0-24)

t.get(Calendar.MINUTE)
int value of the minute in the hour (0-59)

t.get(Calendar.SECOND)
int value of the second within the minute (0-59).

t.get(Calendar.MILLISECOND)
int value of the milliseconds within a second (0-999).

 

Example :

// File   :  animation/textclock/TextClock1.java
// Purpose: Show use of Timer, Calendar to implement a clock.
// Enhancements: Center text, 12 hour with AM/PM, ....
// Author : Fred Swartz, 1999 ... 2007-03-02, Placed in public domain

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Calendar;

 TextClock1
class TextClock1 extends JFrame {
	
    //============================================================== fields
    private JTextField _timeField;  // set by timer listener

    //========================================================== constructor
    public TextClock1() {
        //... Set characteristics of text field that shows the time.
        _timeField = new JTextField(5);
        _timeField.setEditable(false);
        _timeField.setFont(new Font("sansserif", Font.PLAIN, 48));

        JPanel content = new JPanel();
        content.setLayout(new FlowLayout());
        content.add(_timeField); 
        
        this.setContentPane(content);
        this.setTitle("Text Clock 1");
        this.pack();
        this.setLocationRelativeTo(null);
        this.setResizable(false);

        //... Create timer which calls action listener every second..
        //    Use full package qualification for javax.swing.Timer
        //    to avoid potential conflicts with java.util.Timer.
        javax.swing.Timer t = new javax.swing.Timer(1000, new ClockListener());
        t.start();
    }
    
    /// inner class ClockListener
    class ClockListener implements ActionListener {
    	public void actionPerformed(ActionEvent e) {
    		//... Whenever this is called, get the current time and
    		//    display it in the textfield.
            Calendar now = Calendar.getInstance();
            int h = now.get(Calendar.HOUR_OF_DAY);
            int m = now.get(Calendar.MINUTE);
            int s = now.get(Calendar.SECOND);
            _timeField.setText("" + h + ":" + m + ":" + s);
            //... The following is an easier way to format the time,
            //    but requires knowing how to use the format method.
            //_timeField.setText(String.format("%1$tH:%1$tM:%1$tS", now));
    	}
    }
    
    //================================================================= main
    public static void main(String[] args) {
        JFrame clock = new TextClock1();
        clock.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        clock.setVisible(true);
    }
}

转载于:https://www.cnblogs.com/haimingwey/archive/2012/04/16/2451879.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值