Calendar add方法和set方法:


set(int field ,int value):

  • 用来设置“年/月/日/小时/分钟/秒/微妙”等值。

add(int field,int amount):

  • add可以对Calendar的字段进行计算。如果需要减去值,可以使用负数。

实例:获取当前日期的前一天的18:00整,和当前日期的18:00整

    /**
     * 获取开始时间
     * @param date : 当前日期
     * @return 前一天的18:00
     */
    public Date getStartTime(Date date){
        if (date == null){
            return null;
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        //此处要用add()方法,获取当前日期的前一天
        calendar.add(Calendar.DATE,-1);
        //此处用HOUR_OF_DAY,24小时制
        calendar.set(Calendar.HOUR_OF_DAY,18);
        //按顺序设置时分秒
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        return calendar.getTime();
    }
    /**
     * 获取结束时间
     * @param date : 当前时间
     * @return : 当天18:00
     */
    public Date getEndTime(Date date){
        if (date == null) {
            return null;
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.HOUR_OF_DAY, 18);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        return calendar.getTime();
    }
//获取开始和结束时间
public getStartAndEndTime(){
    Date date =  new Date();
    //获取开始时间
    Date startTime = getStartTime(date);
    //获取结束时间
    Date endTime = getEndTime(date);
    //do someting.....
}

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐