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

时间处理工具类

作者: 白云若水 | 来源:发表于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