java对时间取整点和加减时间

我发觉java对日期的操作特别繁琐,没有c#那么方便。不过我用的还是java1.8,也许高版本已经改善。下面的代码,给出对时间取整点(即抹去分钟),和加上若干小时。

private Date getWholePoint(Date t,int hour) {//获得整点时间和加减小时
    Date myT = t;

    if(hour != 0) {//是否加减小时?
        Calendar cal = Calendar.getInstance();
        cal.setTime(myT);
        cal.add(Calendar.HOUR, hour);
        myT = cal.getTime();
    }

    //取整到小时
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");//格式化时间,分钟抹零
    String s = sdf.format(myT);//将时间转化为字符串
    try {
        myT = sdf.parse(s);//然后再由字符串转回时间,成功将分钟抹零
    } catch (ParseException e) {
        e.printStackTrace();
    }

    return myT;
}

Date t1 = 。。。;
Date t2 = 。。。;
t1 = getWholePoint(t1,0);//只取整到小时
t2 = getWholePoint(t2,1);//加一个小时后取整

posted on 2023-03-17 14:52  左直拳  阅读(0)  评论(0)    收藏  举报  来源

导航