zoukankan      html  css  js  c++  java
  • 日期时间格式的工具DateUtils整理

    关于一些时间工具的处理

     * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为String字符串
    * 1、得到当前日期 today()
    * 2、得到当前月份月初 thisMonth()
    * 3、得到当前月份月底 thisMonthEnd()
    * 4、得到当前季度季初 thisSeason()
    * 5、得到当前季度季末 thisSeasonEnd()
    * 6、得到当前年份年初 thisYear()
    * 7、得到当前年份年底 thisYearEnd()
    * 8、判断输入年份是否为闰年 leapYear
    * 9、得到当前的月份 localMonth()
    * 注意事项: 日期格式为:yyyy-MM-dd (eg: 2007-12-05)

    import java.util.Calendar;
    
    /**
     * 描述:此类用于取得当前日期相对应的月初,月末,季初,季末,年初,年末,返回值均为String字符串
     * 1、得到当前日期         today()
     * 2、得到当前月份月初      thisMonth()
     * 3、得到当前月份月底      thisMonthEnd()
     * 4、得到当前季度季初      thisSeason()
     * 5、得到当前季度季末      thisSeasonEnd()
     * 6、得到当前年份年初      thisYear()
     * 7、得到当前年份年底      thisYearEnd()
     * 8、判断输入年份是否为闰年 leapYear
     * 9、得到当前的月份        localMonth()
     * <p>
     * 注意事项:  日期格式为:yyyy-MM-dd (eg: 2007-12-05)
     * <p>
     * 实例:
     *
     * @author pure
     */
    public class DateUtils {
        private int x;                  // 日期属性:年
        private int y;                  // 日期属性:月
        private int z;                  // 日期属性:日
        private Calendar localTime;     // 当前日期
    
        public DateUtils() {
            localTime = Calendar.getInstance();
        }
    
        /**
         * 功能:得到当前日期 格式为:yyyy-MM-dd (eg: 2007-12-05)<br>
         *
         * @return String
         * @author pure
         */
        public String today() {
            String strY = null;
            String strZ = null;
            x = localTime.get(Calendar.YEAR);
            y = localTime.get(Calendar.MONTH) + 1;
            z = localTime.get(Calendar.DATE);
            strY = y >= 10 ? String.valueOf(y) : ("0" + y);
            strZ = z >= 10 ? String.valueOf(z) : ("0" + z);
            return x + "-" + strY + "-" + strZ;
        }
        /**
         * 功能:得到当前月份 格式为:yyyy.MM (eg: 2007.12)<br>
         *
         * @return String
         * @author pure
         */
        public String thisMonth() {
            String strY = null;
            x = localTime.get(Calendar.YEAR);
            y = localTime.get(Calendar.MONTH) + 1;
            strY = y >= 10 ? String.valueOf(y) : ("0" + y);
            return x + "." + strY ;
        }
        /**
         * 功能:得到当前月份月初 格式为:yyyy-MM-dd (eg: 2007-12-01)<br>
         *
         * @return String
         * @author pure
         */
        public String thisMonthStart() {
            String strY = null;
            x = localTime.get(Calendar.YEAR);
            y = localTime.get(Calendar.MONTH) + 1;
            strY = y >= 10 ? String.valueOf(y) : ("0" + y);
            return x + "-" + strY + "-01";
        }
    
        /**
         * 功能:得到当前月份月底 格式为:yyyy-MM-dd (eg: 2007-12-31)<br>
         *
         * @return String
         * @author pure
         */
        public String thisMonthEnd() {
            String strY = null;
            String strZ = null;
            boolean leap = false;
            x = localTime.get(Calendar.YEAR);
            y = localTime.get(Calendar.MONTH) + 1;
            if (y == 1 || y == 3 || y == 5 || y == 7 || y == 8 || y == 10 || y == 12) {
                strZ = "31";
            }
            if (y == 4 || y == 6 || y == 9 || y == 11) {
                strZ = "30";
            }
            if (y == 2) {
                leap = leapYear(x);
                if (leap) {
                    strZ = "29";
                } else {
                    strZ = "28";
                }
            }
            strY = y >= 10 ? String.valueOf(y) : ("0" + y);
            return x + "-" + strY + "-" + strZ;
        }
    
        /**
         * 功能:得到当前季度季初 格式为:yyyy-MM-dd (eg: 2007-10-01)<br>
         *
         * @return String
         * @author pure
         */
        public String thisSeason() {
            String dateString = "";
            x = localTime.get(Calendar.YEAR);
            y = localTime.get(Calendar.MONTH) + 1;
            if (y >= 1 && y <= 3) {
                dateString = x + "-" + "01" + "-" + "01";
            }
            if (y >= 4 && y <= 6) {
                dateString = x + "-" + "04" + "-" + "01";
            }
            if (y >= 7 && y <= 9) {
                dateString = x + "-" + "07" + "-" + "01";
            }
            if (y >= 10 && y <= 12) {
                dateString = x + "-" + "10" + "-" + "01";
            }
            return dateString;
        }
    
        /**
         * 功能:得到当前季度季末 格式为:yyyy-MM-dd (eg: 2007-12-31)<br>
         *
         * @return String
         * @author pure
         */
        public String thisSeasonEnd() {
            String dateString = "";
            x = localTime.get(Calendar.YEAR);
            y = localTime.get(Calendar.MONTH) + 1;
            if (y >= 1 && y <= 3) {
                dateString = x + "-" + "03" + "-" + "31";
            }
            if (y >= 4 && y <= 6) {
                dateString = x + "-" + "06" + "-" + "30";
            }
            if (y >= 7 && y <= 9) {
                dateString = x + "-" + "09" + "-" + "30";
            }
            if (y >= 10 && y <= 12) {
                dateString = x + "-" + "12" + "-" + "31";
            }
            return dateString;
        }
    
        /**
         * 功能:得到当前年份年初 格式为:yyyy-MM-dd (eg: 2007-01-01)<br>
         *
         * @return String
         * @author pure
         */
        public String thisYear() {
            x = localTime.get(Calendar.YEAR);
            return x + "-01" + "-01";
        }
    
        /**
         * 功能:得到当前年份年底 格式为:yyyy-MM-dd (eg: 2007-12-31)<br>
         *
         * @return String
         * @author pure
         */
        public String thisYearEnd() {
            x = localTime.get(Calendar.YEAR);
            return x + "-12" + "-31";
        }
    
        /**
         * 功能:判断输入年份是否为闰年<br>
         *
         * @param year
         * @return 是:true  否:false
         * @author pure
         */
        public boolean leapYear(int year) {
            boolean leap;
            if (year % 4 == 0) {
                if (year % 100 == 0) {
                    if (year % 400 == 0) leap = true;
                    else leap = false;
                } else leap = true;
            } else leap = false;
            return leap;
        }
    
        /**
         * 功能:返回月份
         *
         * @param i 返回近几月就写几
         * @return 例:当前2月,i=0,返回2月;i=1,返回1月;i=2,返回上12月
         */
        public String localMonth(int i) {
            localTime.add(Calendar.MONTH, -i);
            y = localTime.get(Calendar.MONTH) + 1;
            return Integer.toString(y);
        }
    
        /**
         * 功能:几个月的时间范围,格式为:yyyy-MM-dd (eg: 2007-12-31)<br>
         *
         * @return 例:当前2018-3-10,1个月范围,返回2018-2-28
         */
        public String lastMonthDay(int month) {
    
            String strY = null;
            String strZ = null;
            boolean leap = false;
            localTime.add(Calendar.MONTH, -month);
            x = localTime.get(Calendar.YEAR);
            y = localTime.get(Calendar.MONTH) + 1;
            if (y == 1 || y == 3 || y == 5 || y == 7 || y == 8 || y == 10 || y == 12) {
                strZ = "31";
            }
            if (y == 4 || y == 6 || y == 9 || y == 11) {
                strZ = "30";
            }
            if (y == 2) {
                leap = leapYear(x);
                if (leap) {
                    strZ = "29";
                } else {
                    strZ = "28";
                }
            }
            strY = y >= 10 ? String.valueOf(y) : ("0" + y);
            return x + "-" + strY + "-" + strZ;
        }
    
    }
    View Code
  • 相关阅读:
    5G(NR)无线网络协议栈 (层2和层3)
    tcp,udp报文最大长度
    MSS与MTU的关系
    5G网络(接入网+承载网+核心网)
    华为发布:5G时代十大应用场景白皮书(附下载)
    爱码仕 解读5G(八)再见了,SIM卡
    爱码仕 解读5G (七)无线娱乐在家里、在车里、在加油站、在充电站、在高速公路休息区
    爱码仕 解读5G (六)健康管理和无线医疗
    爱码仕 解读5G (五)能源领域 电力馈线自动化 智慧油田 智慧海洋
    在DevExpress中使用CameraControl控件进行摄像头图像采集
  • 原文地址:https://www.cnblogs.com/iceb/p/9876013.html
Copyright © 2011-2022 走看看