zoukankan      html  css  js  c++  java
  • 时间工具类

    package com.ljl.test;
    
    import java.sql.Timestamp;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    
    /**
     * 日期处理
     */
    public class DateUtils {
    
        public static SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
        public static String dateToStr(Date date){
            return sdf.format(date);
        }
        public static Date strToDate(String time){
            try {
                return sdf.parse(time);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return null;
        }
    
        //获取当天的开始时间
        public static Date getDayBegin() {
            Calendar cal = Calendar.getInstance();
            cal.set(Calendar.HOUR_OF_DAY, 0);
            cal.set(Calendar.MINUTE, 0);
            cal.set(Calendar.SECOND, 0);
    //        cal.set(Calendar.MILLISECOND, 0);
            return cal.getTime();
        }
        //获取当天的结束时间
        public static Date getDayEnd() {
            Calendar cal = new GregorianCalendar();
            cal.set(Calendar.HOUR_OF_DAY, 23);
            cal.set(Calendar.MINUTE, 59);
            cal.set(Calendar.SECOND, 59);
            return cal.getTime();
        }
        //获取昨天的开始时间
        public static Date getBeginDayOfYesterday() {
            Calendar cal = new GregorianCalendar();
            cal.setTime(getDayBegin());
            cal.add(Calendar.DAY_OF_MONTH, -1);
            cal.set(Calendar.HOUR_OF_DAY, 0);
            cal.set(Calendar.MINUTE, 0);
            cal.set(Calendar.SECOND, 0);
            return cal.getTime();
        }
        //获取昨天的结束时间
        public static Date getEndDayOfYesterDay() {
            Calendar cal = new GregorianCalendar();
            cal.setTime(getDayEnd());
            cal.add(Calendar.DAY_OF_MONTH, -1);
            cal.set(Calendar.HOUR_OF_DAY, 23);
            cal.set(Calendar.MINUTE, 59);
            cal.set(Calendar.SECOND, 59);
            return cal.getTime();
        }
        //获取本周的开始时间
        @SuppressWarnings("unused")
        public static Date getBeginDayOfWeek() {
            Calendar cal = Calendar.getInstance();
            cal.setTime(new Date());
            int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
            if (dayofweek == 1) {
                dayofweek += 7;
            }
            cal.add(Calendar.DATE, 2 - dayofweek);
            return getDayStartTime(cal.getTime());
        }
        //获取本周的结束时间
        public static Date getEndDayOfWeek(){
            Calendar cal = Calendar.getInstance();
            cal.setTime(getBeginDayOfWeek());
            cal.add(Calendar.DAY_OF_WEEK, 6);
            Date weekEndSta = cal.getTime();
            return getDayEndTime(weekEndSta);
        }
        //获取上周的开始时间
        @SuppressWarnings("unused")
        public static Date getBeginDayOfLastWeek() {
            Date date = new Date();
            if (date == null) {
                return null;
            }
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
            if (dayofweek == 1) {
                dayofweek += 7;
            }
            cal.add(Calendar.DATE, 2 - dayofweek - 7);
            return getDayStartTime(cal.getTime());
        }
        //获取上周的结束时间
        public static Date getEndDayOfLastWeek(){
            Calendar cal = Calendar.getInstance();
            cal.setTime(getBeginDayOfLastWeek());
            cal.add(Calendar.DAY_OF_WEEK, 6);
            Date weekEndSta = cal.getTime();
            return getDayEndTime(weekEndSta);
        }
        //获取本月的开始时间
        public static Date getBeginDayOfMonth() {
            Calendar calendar = Calendar.getInstance();
            calendar.set(getNowYear(), getNowMonth() - 1, 1);
            return getDayStartTime(calendar.getTime());
        }
        //获取本月的结束时间
        public static Date getEndDayOfMonth() {
            Calendar calendar = Calendar.getInstance();
            calendar.set(getNowYear(), getNowMonth() - 1, 1);
            int day = calendar.getActualMaximum(5);
            calendar.set(getNowYear(), getNowMonth() - 1, day);
            return getDayEndTime(calendar.getTime());
        }
        //获取上月的开始时间
        public static Date getBeginDayOfLastMonth() {
            Calendar calendar = Calendar.getInstance();
            calendar.set(getNowYear(), getNowMonth() - 2, 1);
            return getDayStartTime(calendar.getTime());
        }
        //获取上月的结束时间
        public static Date getEndDayOfLastMonth() {
            Calendar calendar = Calendar.getInstance();
            calendar.set(getNowYear(), getNowMonth() - 2, 1);
            int day = calendar.getActualMaximum(5);
            calendar.set(getNowYear(), getNowMonth() - 2, day);
            return getDayEndTime(calendar.getTime());
        }
        //获取某个日期的开始时间
        public static Timestamp getDayStartTime(Date d) {
            Calendar calendar = Calendar.getInstance();
            if(null != d) calendar.setTime(d);
            calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),    calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
            calendar.set(Calendar.MILLISECOND, 0);
            return new Timestamp(calendar.getTimeInMillis());
        }
        //获取某个日期的结束时间
        public static Timestamp getDayEndTime(Date d) {
            Calendar calendar = Calendar.getInstance();
            if(null != d) calendar.setTime(d);
            calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),    calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59);
            calendar.set(Calendar.MILLISECOND, 999);
            return new Timestamp(calendar.getTimeInMillis());
        }
        //获取今年是哪一年
        public static Integer getNowYear() {
            Date date = new Date();
            GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
            gc.setTime(date);
            return Integer.valueOf(gc.get(1));
        }
        //获取本月是哪一月
        public static int getNowMonth() {
            Date date = new Date();
            GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
            gc.setTime(date);
            return gc.get(2) + 1;
        }
    
        public static void main(String[] args) throws Exception {
            //测试
            System.out.println(dateToStr(getDayBegin()));
            System.out.println(dateToStr(getDayEnd()));
    
            System.out.println(dateToStr(getBeginDayOfYesterday()));
            System.out.println(dateToStr(getEndDayOfYesterDay()));
    
            System.out.println(getBeginDayOfLastWeek());
            System.out.println(getEndDayOfLastWeek());
    
            System.out.println(getBeginDayOfWeek());
            System.out.println(getEndDayOfWeek());
    
            System.out.println(getBeginDayOfLastMonth());
            System.out.println(getEndDayOfLastMonth());
    
            System.out.println(getBeginDayOfMonth());
            System.out.println(getEndDayOfMonth());
        }
    }
  • 相关阅读:
    【BZOJ4520】[Cqoi2016]K远点对 kd-tree+堆
    【BZOJ2843】极地旅行社 离线+树链剖分+树状数组
    【BZOJ3251】树上三角形 暴力
    SQL学习笔记三(补充-3)之MySQL完整性约束
    SQL学习笔记三(补充-2)之MySQL数据类型
    SQL学习笔记三(补充-1)之MySQL存储引擎
    SQL学习笔记二之MySQL的数据库操作
    SQL学习笔记一之初识数据库
    深入理解Python中的元类(metaclass)
    Web安全之BurpSuite抓取HTTPS请求
  • 原文地址:https://www.cnblogs.com/ljl5921/p/13622212.html
Copyright © 2011-2022 走看看