zoukankan      html  css  js  c++  java
  • 获取当天的开始时间、结束时间等等的一个工具类

    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.List;

    /**
     * Date工具类
     */
    public class Dateutil {

        /**
         * 当天的开始时间
         * @return
         */
        public static long startOfTodDay() {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.HOUR_OF_DAY, 0);
            calendar.set(Calendar.MINUTE, 0);
            calendar.set(Calendar.SECOND, 0);
            calendar.set(Calendar.MILLISECOND, 0);
            Date date=calendar.getTime();
            return date.getTime();
        }
        /**
         * 当天的结束时间
         * @return
         */
        public static long endOfTodDay() {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.HOUR_OF_DAY, 23);
            calendar.set(Calendar.MINUTE, 59);
            calendar.set(Calendar.SECOND, 59);
            calendar.set(Calendar.MILLISECOND, 999);
            Date date=calendar.getTime();
            return date.getTime();
        }
        /**
         * 昨天的开始时间
         * @return
         */
        public static long startOfyesterday() {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.HOUR_OF_DAY, 0);
            calendar.set(Calendar.MINUTE, 0);
            calendar.set(Calendar.SECOND, 0);
            calendar.add(Calendar.DATE, -1);
            calendar.set(Calendar.MILLISECOND, 0);
            Date date=calendar.getTime();
            return date.getTime();
        }
        /**
         * 昨天的结束时间
         * @return
         */
        public static long endOfyesterday() {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.HOUR_OF_DAY, 23);
            calendar.set(Calendar.MINUTE, 59);
            calendar.set(Calendar.SECOND, 59);
            calendar.set(Calendar.MILLISECOND, 999);
            calendar.add(Calendar.DATE, -1);
            Date date=calendar.getTime();
            return date.getTime();
        }

        /**
         * 功能:获取上周的开始时间
         */
        public static long startOfLastWeek() {// 当周开始时间
            return startOfThisWeek() - 7 * 24 * 60 * 60 * 1000;
        }

        /**
         * 功能:获取上周的结束时间
         */
        public static long endOfLastWeek() {// 当周开始时间
            return endOfThisWeek() - 7 * 24 * 60 * 60 * 1000;
        }

        /**
         * 功能:获取本周的开始时间 示例:2013-05-13 00:00:00
         */
        public static long startOfThisWeek() {// 当周开始时间
            Calendar currentDate = Calendar.getInstance();
            currentDate.setFirstDayOfWeek(Calendar.MONDAY);
            currentDate.set(Calendar.HOUR_OF_DAY, 0);
            currentDate.set(Calendar.MINUTE, 0);
            currentDate.set(Calendar.SECOND, 0);
            currentDate.set(Calendar.MILLISECOND, 0);
            currentDate.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
            Date date=currentDate.getTime();
            return date.getTime();
        }

        /**
         * 功能:获取本周的结束时间 示例:2013-05-19 23:59:59
         */
        public static long endOfThisWeek() {// 当周结束时间
            Calendar currentDate = Calendar.getInstance();
            currentDate.setFirstDayOfWeek(Calendar.MONDAY);
            currentDate.set(Calendar.HOUR_OF_DAY, 23);
            currentDate.set(Calendar.MINUTE, 59);
            currentDate.set(Calendar.SECOND, 59);
            currentDate.set(Calendar.MILLISECOND, 999);
            currentDate.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
            Date date=currentDate.getTime();
            return date.getTime();
        }

        /**
         * 功能:获取本月的开始时间
         */
        public static long startOfThisMonth() {// 当周开始时间
            Calendar currentDate = Calendar.getInstance();
            currentDate.set(Calendar.HOUR_OF_DAY, 0);
            currentDate.set(Calendar.MINUTE, 0);
            currentDate.set(Calendar.SECOND, 0);
            currentDate.set(Calendar.MILLISECOND, 0);
            currentDate.set(Calendar.DAY_OF_MONTH, 1);
            Date date=currentDate.getTime();
            return date.getTime();
        }

        public static long endOfThisMonth() {
            Calendar cal = Calendar.getInstance();
            cal.set(Calendar.DAY_OF_MONTH, 1);
            cal.set(Calendar.HOUR_OF_DAY, 23);
            cal.set(Calendar.MINUTE, 59);
            cal.set(Calendar.SECOND, 59);
            cal.set(Calendar.MILLISECOND, 999);
            cal.add(Calendar.MONTH, 1);
            cal.add(Calendar.DATE, -1);
            Date date=cal.getTime();
            return date.getTime();
        }
        
        /**
         * 功能:获取上月的开始时间
         */
        public static long startOfLastMonth() {// 当周开始时间
            Calendar currentDate = Calendar.getInstance();
            currentDate.set(Calendar.HOUR_OF_DAY, 0);
            currentDate.set(Calendar.MINUTE, 0);
            currentDate.set(Calendar.SECOND, 0);
            currentDate.set(Calendar.MILLISECOND, 0);
            currentDate.set(Calendar.DAY_OF_MONTH, 1);
            currentDate.add(Calendar.MONTH, -1);
            Date date=currentDate.getTime();
            return date.getTime();
        }
        /**
         * 功能:获取上月的结束时间
         */
        public static long endOfLastMonth() {
            Calendar cal = Calendar.getInstance();
            cal.set(Calendar.DAY_OF_MONTH, 1);
            cal.set(Calendar.HOUR_OF_DAY, 23);
            cal.set(Calendar.MINUTE, 59);
            cal.set(Calendar.SECOND, 59);
            cal.set(Calendar.MILLISECOND, 999);
            cal.add(Calendar.DATE, -1);
            Date date=cal.getTime();
            return date.getTime();
        }

        /**
         *  根据long返回year
         * @param milliseconds
         * @return
         */
        public static Object[] theYearOfTime(long milliseconds){
            Calendar cal = Calendar.getInstance();
            Date date=cal.getTime();
            int thisYear=date.getYear()+1900;
            cal.setTimeInMillis(milliseconds);
            date=cal.getTime();
            int regirsterYear=date.getYear()+1900;
            if(regirsterYear<thisYear){
                List<Integer> yearL=new ArrayList<Integer>();
                for(int i=regirsterYear;i<=thisYear;i++){
                    yearL.add(i);
                }
                return yearL.toArray();
            }else{
                return new Object[]{thisYear};
            }
            
        }
        
        /**
         * 功能:获取本年的开始时间
         */
        public static long startOfTheYear(int year) {// 当周开始时间
            Calendar currentDate = Calendar.getInstance();
            currentDate.set(Calendar.YEAR, year);
            currentDate.set(Calendar.MONTH, 0);
            currentDate.set(Calendar.HOUR_OF_DAY, 0);
            currentDate.set(Calendar.MINUTE, 0);
            currentDate.set(Calendar.SECOND, 0);
            currentDate.set(Calendar.MILLISECOND, 0);
            currentDate.set(Calendar.DAY_OF_MONTH, 1);
            Date date=currentDate.getTime();
            return date.getTime();
        }
        /**
         * 功能:获取本年的开始时间
         */
        public static long endOfTheYear(int year) {
            Calendar cal = Calendar.getInstance();
            cal.set(Calendar.YEAR, year);
            cal.set(Calendar.MONTH,11);
            cal.set(Calendar.DAY_OF_MONTH, 31);
            cal.set(Calendar.HOUR_OF_DAY, 23);
            cal.set(Calendar.MINUTE, 59);
            cal.set(Calendar.SECOND, 59);
            cal.set(Calendar.MILLISECOND, 999);
            Date date=cal.getTime();
            return date.getTime();
        }
    }

  • 相关阅读:
    PageControl1
    IE6 发送奇数个汉字出现的BUG机器解决之道
    十 C# Socket协议的形象描述
    深入浅出URL编码
    认识session
    Servlet过滤器介绍之原理分析
    web开发标准
    JS 截取字符串及字符与数字转换
    Servet和JSP学习总结(转载)
    端口、系统服务、系统进程概念
  • 原文地址:https://www.cnblogs.com/austinspark-jessylu/p/8406891.html
Copyright © 2011-2022 走看看