zoukankan      html  css  js  c++  java
  • 日期计算工具类

    /* 
     * CopyRright (c) 2013, Minxin and/or its affiliates. All rights reserved.
     */
    package com.minxinloan.common.utils;
    
    import java.util.Calendar;
    import java.util.Date;
    
    /**
     * 日期计算工具类
     *
     * @author gejb
     * @since 2013-12-18
     */
    public class CalendarUtil {
        /**
         * 获取指定日期的当月第一天日期
         *
         * @param date 指定日期
         * @return 当月第一天日期
         */
        public static Date getFirstDayOfMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DATE, 1); // 设置当前月的1号
            return calendar.getTime();
        }
        /**
         * 获取当前日期
         *
         * @param date 指定日期
         * @return 当月第一天日期
         */
        public static String getCurrentDate() {
            java.util.Calendar c=java.util.Calendar.getInstance();    
            java.text.SimpleDateFormat f=new java.text.SimpleDateFormat("yyyy-MM-dd");    
            return f.format(c.getTime());   
        }
    
        /**
         * 获取指定日期当月最后一天日期
         *
         * @param date 指定日期
         * @return 当月最后一天日期
         */
        public static Date getLastDayOfMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DATE, 1);     // 设置当前月的1号
            calendar.add(Calendar.MONTH, 1);   // 加一个月,变为下月的1号
            calendar.add(Calendar.DATE, -1);    // 减去一天,变为当前月的最后一天
            return calendar.getTime();
        }
    
        /**
         * 获取指定日期上月第一天日期
         *
         * @param date 指定日期
         * @return 上月第一天日期
         */
        public static Date getFirstDayOfPreviousMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DATE, 1);     // 设置当前月的1号
            calendar.add(Calendar.MONTH, -1);  // 减一个月,变为上月的1号
            return calendar.getTime();
        }
    
        /**
         * 获取指定日期的上月最后一天
         *
         * @param date 指定日期
         * @return 上月最后一天日期
         */
        public static Date getLastDayOfPreviousMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DATE, 1);     // 设置当前月的1号
            calendar.add(Calendar.DATE, -1);    // 减一天,变为上月的1号
            return calendar.getTime();
        }
    
        /**
         * 获取指定日期的下月第一天日期
         *
         * @param date 指定日期
         * @return 下月第一天日期
         */
        public static Date getFirstDayOfNextMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.MONTH, 1);    // 加一个月
            calendar.set(Calendar.DATE, 1);     // 设置当前月第一天
            return calendar.getTime();
        }
    
        /**
         * 获取指定日期下月最后一天的日期
         *
         * @param date 指定日期
         * @return 下月最后一天的日期
         */
        public static Date getLastDayOfNextMonth(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.set(Calendar.DATE, 1);     // 设置当前月的1号
            calendar.add(Calendar.MONTH, 2);   // 加两个月,变为下下月的1号
            calendar.add(Calendar.DATE, -1);    // 减一天,变为下月的最后一天
            return calendar.getTime();
        }
    
        /**
         * 获取两个日期相差天数,算上当天
         *
         * @param fromDate
         * @param endDate
         * @return 相差天数
         */
        public static int getIntervalDays(Date fromDate, Date endDate) {
            if (null == fromDate || null == endDate) {
                return -1;
            }
            long intervalMilli = endDate.getTime() - fromDate.getTime();
            return (int) (intervalMilli / (24 * 60 * 60 * 1000));
        }
    }
  • 相关阅读:
    docker swarm使用keepalived+haproxy搭建基于percona-xtradb-cluster方案的高可用mysql集群
    docker搭建基于percona-xtradb-cluster方案的mysql集群
    flask实现基于elasticsearch的关键词搜索建议
    tcp === udp
    re 模块===正则表达式
    模块===包
    析构方法====
    python===属性--类方法
    python====接口类 抽象类===19
    python==继承===18
  • 原文地址:https://www.cnblogs.com/yy123/p/5354199.html
Copyright © 2011-2022 走看看