Java_67_时间_Calendar(时间转日期)日历抽象类_GregorianCalendar标准日历系统类_long类型的数和日期转化

Calendar 日历类

Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治时间1970年1月1日的00:00:00.000,格里高利历)的偏移量。

GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。

增加方法用Calendar[name].add(年,10);// 加10年

注意月份的表示,一月是0,二月是1,以此类推,12月是11。因为大多数人习惯于使用单词而不是使用数字来表示月份,这样程序也许更易读,父类Calendar使用常量来表示月份:JANUARY,FEBRUARY等等。

周日是1周六是7

public static void main(String[] args) {
        Calendar calendar = new GregorianCalendar(2015, 11, 9, 11, 9, 50);
        Calendar calendar2 = new GregorianCalendar();
        // 设定日期
        calendar2.set(Calendar.YEAR, 2015);
        calendar2.set(Calendar.MONTH, 11);
        calendar2.set(Calendar.DATE, 9);
        calendar2.set(Calendar.HOUR_OF_DAY, 11);
        calendar2.set(calendar.MINUTE, 45);
        calendar2.set(calendar.SECOND, 34);
        // 得到相关的日期元素。
        int year = calendar2.get(Calendar.YEAR);
        int month = calendar2.get(Calendar.MONTH);
        int Date = calendar2.get(Calendar.DATE);
        // 日:Calendar.Date和Calendar.DAY_OF_MONTH同义。
        int hour = calendar2.get(Calendar.HOUR);
        int Minute = calendar2.get(Calendar.MINUTE);
        int ss = calendar2.get(Calendar.SECOND);
        int week = calendar2.get(Calendar.DAY_OF_WEEK);
        // 星期几 这里:1-7.周日是1,周一是2,,,,,周六是7
        System.out.printf("%d年%d月%d日,星期%d\n", year, month, Date, week);
        // 日期计算
        GregorianCalendar calendar3 = new GregorianCalendar(2015, 11, 9, 14, 55, 50);
        calendar3.add(Calendar.MONTH, -7);// 月份减7
        calendar3.add(Calendar.DATE, 7);// 增加7天
        printCalendar(calendar3);
        // 日历对象和时间对象转化。
        Date d = calendar3.getTime();
        long millSecond = calendar3.getTimeInMillis();
        Date date2 = new Date(10000000000000L);
        GregorianCalendar calendar4 = new GregorianCalendar();
        calendar4.setTime(date2);

        long g = System.currentTimeMillis();
        printCalendar(calendar4);
    }

    public static void printCalendar(Calendar calendar) {
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1;
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        int day2 = calendar.get(Calendar.DATE);
        // 日:Calendar.Date和Calendar.DAY_OF_MONTH
        int date = calendar.get(Calendar.DAY_OF_WEEK) - 1;// 星期几
        String week = "" + ((date == 0) ? "日" : date);
        System.out.printf("%d年%d月%d日,星期%s\n", year, month, day, week);
    }

输出:

2015年11月9日,星期4
2015年5月16日,星期6
2286年11月21日,星期日

发布了136 篇原创文章 · 获赞 11 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/pmcasp/article/details/84618824