• 工具类篇——时间处理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;
        }

    }

    
    
  • 相关阅读:
    应用程序如何实现高级量规界面自定义?这个第三方控件很好用
    Web应用开发的透视网格如何实现本地化?一招教你轻松搞定
    这个布局助手工具,帮你快速构建美观的WinForm应用
    用于Delphi的DevExpress VCL组件——增强布局控件性能
    JS/TS生成随机姓名
    单例模式的错误用法
    Node极速开发WebSocket服务器
    Unity中实现WebSocket客户端
    解决git每次输入密码的问题
    html转md
  • 原文地址:https://www.cnblogs.com/zzb-yp/p/11379006.html
Copyright © 2020-2023  润新知