美文网首页
时间处理工具类

时间处理工具类

作者: 白云若水 | 来源:发表于2019-10-24 09:30 被阅读0次

    /**

    * 对时间处理的函数

    *

    * @author zhangyuepeng

    *

    */

    public class ProcessingTime {

    /**

    * 获取当天时间的零点

    *

    * @param date

    * @return

    */

    public Date getStartTimeOfDay(Date date) {

    if (date == null) {

    return null;

    }

    Calendar day = Calendar.getInstance();

    day.setTime(date);

    day.set(Calendar.HOUR_OF_DAY, 0);

    day.set(Calendar.MINUTE, 0);

    day.set(Calendar.SECOND, 0);

    day.set(Calendar.MILLISECOND, 0);

    return day.getTime();

    }

    /**

    * 获取当天时间的末点

    *

    * @param date

    * @return

    */

    public Date getEndTimeOfDay(Date date) {

    if (date == null) {

    return null;

    }

    Calendar day = Calendar.getInstance();

    day.setTime(date);

    day.set(Calendar.HOUR_OF_DAY, 23);

    day.set(Calendar.MINUTE, 59);

    day.set(Calendar.SECOND, 59);

    day.set(Calendar.MILLISECOND, 999);

    return day.getTime();

    }

    /**

    * 获取昨天时间的零点

    *

    * @param date

    * @return

    */

    public Date getLastDayStartTimeOfDay(Date date) {

    if (date == null) {

    return null;

    }

    Calendar calendar = Calendar.getInstance();

    calendar.setTime(date);

    // calendar.add(Calendar.DAY_OF_MONTH, +1);//明天

    // calendar.add(Calendar.DAY_OF_MONTH, 0);//今天

    calendar.add(Calendar.DAY_OF_MONTH, -1);// 昨天

    return getStartTimeOfDay(calendar.getTime());

    }

    /**

    * 获取一周前时间的零点

    *

    * @param date

    * @return

    */

    public Date getLastDayEndTimeOfSevenDay(Date date) {

    if (date == null) {

    return null;

    }

    Calendar calendar = Calendar.getInstance();

    calendar.setTime(date);

    // calendar.add(Calendar.DAY_OF_MONTH, +1);//明天

    // calendar.add(Calendar.DAY_OF_MONTH, 0);//今天

    calendar.add(Calendar.DATE, -7);// 一周前

    return getStartTimeOfDay(calendar.getTime());

    }

    /**

    * 将时间格式进行转换 (yyyy-MM-dd HH:mm:ss)

    *

    * @param date

    * @return

    */

    public String dateFormat(Date date) {

    // 创建一个Date对象,获取当前时间

    // 指定格式化格式

    SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    return f.format(date);

    }

    /**

        * 给时间加上几个小时

        * @param day 当前时间 格式:yyyy-MM-dd HH:mm:ss

        * @param hour 需要加的时间

        * @return

        */

        public  String addDateMinut(String day, int hour){ 

            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

            Date date = null; 

            try { 

                date = format.parse(day); 

            } catch (Exception ex) { 

                ex.printStackTrace(); 

            } 

            if (date == null) 

                return ""; 

          // System.out.println("front:" + format.format(date)); //显示输入的日期       

            Calendar cal = Calendar.getInstance(); 

            cal.setTime(date); 

            cal.add(Calendar.HOUR, hour);// 24小时制 

            date = cal.getTime(); 

            //System.out.println("after:" + format.format(date));  //显示更新后的日期

            cal = null; 

            return format.format(date); 

        }

        /**

        * 时间计算函数(第一个时间减去第二个时间) 传参格式("yyyy-MM-dd HH:mm:ss")

        * 第一个参数传最近的时间,第二个参数传递过去的时间

        * @param bigTime

        * @param smallTime

        * @return 返回一个List{天,小时,分钟}

        */

        public List<Long> getTime(String bigTime, String smallTime){

            DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

            List<Long> timeList=new ArrayList<Long>();

            try

            {

              Date d1 = df.parse(bigTime);

              Date d2 = df.parse(smallTime);

              long diff = d1.getTime() - d2.getTime();//这样得到的差值是微秒级别

              long days = diff / (1000 * 60 * 60 * 24);

              long hours = (diff-days*(1000 * 60 * 60 * 24))/(1000* 60 * 60);

              long minutes = (diff-days*(1000 * 60 * 60 * 24)-hours*(1000* 60 * 60))/(1000* 60);

              // System.out.println(""+days+"天"+hours+"小时"+minutes+"分");

              timeList.add(days);

              timeList.add(hours);

              timeList.add(minutes);

            }catch (Exception e)

            {

            }

        return timeList;

        }

        /**

        * 获取到当月的第一天零时

        * ("yyyy-MM-dd HH:mm:ss")

        * @return String

        */

        public String firstDayOfThisMonth(Date date){

        DateFormat df = new SimpleDateFormat("yyyy-MM");

        String dates=df.format(date);

        String t="-01 00:00:00";

        dates=dates+t;

        return dates;

        }

    相关文章

      网友评论

          本文标题:时间处理工具类

          本文链接:https://www.haomeiwen.com/subject/slcrvctx.html