JAVA Calendar类

用Date实例创建一个包含6个int值的对象:
Date d = new Date();
Calendar c = Calendar.getInstance();
c.setTime(d);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);



import java.util.Calendar;
import java.util.Date;

public class Test02 {
    public static void main(String[] args) {
        Date nowTime = new Date();
        Calendar c = Calendar.getInstance();
        c.setTime(nowTime);
        int y = c.get(Calendar.YEAR);
        System.out.println("今年は" + y + "です");
        int m = c.get(Calendar.MONTH);
        System.out.println("今日は" + m + "月です");
        int d = c.get(Calendar.DAY_OF_MONTH);
        System.out.println("今日は" + m + "月" + d + "日です");
        int h = c.get(Calendar.HOUR);
        System.out.println("今の時間は" + h + "時です");
        int min = c.get(Calendar.MINUTE);
        System.out.println("今の時間は" + h + "時" + min + "分です");
        int s = c.get(Calendar.SECOND);
        System.out.println("今の時間は" + h + "時" + min + "分" + s + "秒です");
        System.out.println(y + "年" + m + "月" + d + "日" + h + "時" + min + "分" + s + "秒です。");

    }
}

実行結果
今年は2015です
今日は10月です
今日は10月11日です
今の時間は2時です
今の時間は2時51分です
今の時間は2時51分11秒です
2015年10月11日2時51分11秒です

根据6个int值生成一个Date实例:
Calendar c = Calendar.getInstance();
c.set(年, 月, 日, 时, 分, 秒); 或者 c.set(Calendar.~, 值);
Date d = c.getTime();
※~可以指定YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE、DAY等。


import java.util.Calendar;
import java.util.Date;

public class Test02 {
    public static void main(String[] args) {

        Calendar c = Calendar.getInstance();
        c.set(2020, 11, 24, 23, 15, 17);
        Date past = c.getTime();
        System.out.println(past);
        c.set(Calendar.MONTH, 11 - 1);
        Date past2 = c.getTime();
        System.out.println(past2);
        c.set(2017, 5, 17, 13, 13, 24);
        Date past3 = c.getTime();
        System.out.println(past3);
        c.set(Calendar.DAY_OF_MONTH, 2);
        Date past4 = c.getTime();
        System.out.println(past4);

        System.out.println("11月に設定したい↓ 11月より-1した値を入れる");
        c.set(Calendar.MONTH, 10);
        Date past5 = c.getTime();
        System.out.println(past5);

    }
}

実行結果
Thu Dec 24 23:15:17 JST 2020
Tue Nov 24 23:15:17 JST 2020
Sat Jun 17 13:13:24 JST 2017
Fri Jun 02 13:13:24 JST 2017
11月に設定したい 11月より-1した値を入れる
Thu Nov 02 13:13:24 JST 2017

■例③解说
Java Calendar类的MONTH属性的取值范围是0至11(比实际月份少1),所以在输出时应将其值加1,这样才能正确显示月份。

■Calendar类
仅使用Date类无法处理平时使用的年月日和时间等格式。
本页面将解释用于显示和操作日期和时间的Calendar类。该类以易于理解的方式显示年、月日、时间和星期几。同时可根据地区设置和时区进行显示。

■工厂方法
Calendar类的构造函数被声明为protected,无法从其他类中使用。因此,当要生成Calendar对象时,需要使用Calendar类提供的工厂方法。即通过使用静态方法getInstance来获取与当前环境相匹配的日历操作实例。

广告
将在 10 秒后关闭
bannerAds