工具类篇——时间处理Calendar类

一、时间工具类Calendar

  1、工具类的获取,可以直接获取它的抽象类,也可以new它的实现类,代码如下:

import java.io.*;
import java.util.*;

public class CalendarGet
{
  public static void main(String[] args) {
  Calendar calendar = Calendar.getInstance();
  if (calendar instanceof GregorianCalendar)
  System.out.println("GregorianCalendar是calendar的实现";
  }
}

  2、工具类Calendar的使用方法

// 获取某日期的节点号
    public void getDate(Date d) {
        Calendar ca = Calendar.getInstance();
        ca.setTime(d);
        int year= ca.get(Calendar.YEAR);        //
        int month= ca.get(Calendar.MONTH)+1;      //
        int day = ca.get(Calendar.DAY_OF_MONTH);       //
        int hour= ca.get(Calendar.HOUR_OF_DAY);  //
        int month= ca.get(Calendar.MINUTE);      //
        int month= ca.get(Calendar.SENCOND);      //
    }

 // 给定日期的前/后n天
  public void getDateForDayNum() {
    Calendar ca = Calendar.getInstance();
    ca.setTime(new Date());
    ca.add(Calendar.DAY_OF_MONTH, n);  //当前时间n天后的时间

    Date dayAfter = ca.getTime();

    ca.add(Calendar.DAY_OF_MONTH, -n);  //当前时间n天前的时间

    Date dayBefore = ca.getTime();

      ca.add(Calendar.MONTH, n);  //当前时间n月后的时间

    Date monthAfter = ca.getTime();

    ca.add(Calendar.MONTH, -n);  //当前时间n月前的时间

    Date monthBefore = ca.getTime();

      ca.add(Calendar.YEAR, -n);  //当前时间n年前的时间

    Date yearBefore = ca.getTime();

    ca.add(Calendar.YEAR, n);  //当前时间n年后的时间

    Date yearAfter = ca.getTime();

      ca.add(Calendar.HOUR, -n);  //当前时间n小时前的时间

    Date hourBefore = ca.getTime();

    ca.add(Calendar.HOUR, n);  //当前时间n小时后的时间

    Date hourAfter = ca.getTime();


    

  // 当前时间前n个月的时间
    public void getLastDay() {
      Calendar ca = Calendar.getInstance();
      ca.setTime(new Date());
      ca.roll(Calendar.MONTH, n);  // 向后回滚n个月
      ca.set(Calendar.DATE, 0);
      Date time = ca.getTime();
    }

  // 某个月有多少天
    public int getDateNumForDate(Date date) {
      Calendar ca = Calendar.getInstance();
      ca.setTime(date);
      ca.set(Calendar.DATE, 0);
      return ca.get(Calendar.DATE);
    }

  // 某年某月是星期几(周日返回0,周一到周六就是1-6)
    public int getWeek(Date date) {
      Calendar ca = Calendar.getInstance();
      int week = ca.get(Calendar.DAY_OF_WEEK) - 1;
      return week;
    }

}


原文地址:https://www.cnblogs.com/zzb-yp/p/11379006.html