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());
        }
    }
  • 相关阅读:
    移动文件夹时,千万别直接移动系统文件夹,应该直接复制或者移动这个系统文件夹内的内容
    UIView的intrinsicContentSize方法,在按钮中重写
    Reveal v4(8796) 使用
    AppCode 2016.3 注册码
    BSD process name correspondlng to current thread: knernel_task Mac OS version Not yet set
    iOS 适配HTTPS
    [Graphics] UIColor created with component values far outside the expected range, Set a breakpoint on UIColorBreakForOutOfRangeColorComponents to debug. This message will only be logged once.
    SB中设置UITextField 无边框,真机上输入汉字聚焦时,文字 下沉
    TTTAttributedLabel 富文本小记
    iOS 应用数据存储的常用方式
  • 原文地址:https://www.cnblogs.com/ljl5921/p/13622212.html
Copyright © 2011-2022 走看看