日期:2014-05-19  浏览次数:20741 次

根据给定的时间获得其他的时间
现在给你一个任意的时间,根据给出的时间获得它的下一周周一的时间,下一周 周日的时间,上一周 周一的时间,下一周 周日的时间,上一月的第一天 ,上一月的最后一天 ,下一月的第一天, 下一月的最后一天

------解决方案--------------------
time?

用Calendar自己去加减吧,
第一天就是01
最后一天就是多加一个月然后减一天
------解决方案--------------------
一切都可用Calendar类搞定。。。
------解决方案--------------------
自己看看api啊
------解决方案--------------------
Calendar可以用来做这个事情,写几个简单的启发启发,像其它上个月的自己去设置MOUTH就可以了。。。。

//获取给定时间当天的0点
public static Date getFirstHour(Date date){
Calendar calendar = new GregorianCalendar(); 
calendar.setTime(date); 
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

return calendar.getTime();
}

//获取给定时间当天的23点59分
public static Date getlastHour(Date date){
Calendar calendar = new GregorianCalendar(); 
calendar.setTime(date); 
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);

return calendar.getTime();
}

//获取给定时间所在月份的第一天
public static Date getFirstDay(Date date){
Calendar calendar = new GregorianCalendar(); 
calendar.setTime(date); 
calendar.set(Calendar.DATE, calendar.getActualMinimum(Calendar.DATE));

return getFirstHour(calendar.getTime());
}

//获取给定时间所在月份的最后一天
public static Date getLastDay(Date date){
Calendar calendar = new GregorianCalendar(); 
calendar.setTime(date); 
calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));

return getlastHour(calendar.getTime());
}