Java 日历类 Calendar 相关方法

来源:互联网 发布:算法统宗中的歌诀题 编辑:程序博客网 时间:2024/05/21 20:44
/**
 * 计算指定日期为当年第几周
 * @param year      指定的年份
 * @param month     指定的月份
 * @param day       指定的日
 * @return          指定日期为当年的第几周
 */
publicstatic int caculateWeekOfYear(int year,int month,intday){
    Calendar c = Calendar.getInstance();
    c.set(Calendar.YEAR, year);
    c.set(Calendar.MONTH, month -1);
    c.set(Calendar.DATE, day);
    returnc.get(Calendar.WEEK_OF_YEAR);
}
 
/**
 * 获取本月第一天是星期几
 * @return
 */
publicstatic int getWeekOfFirstDay(Calendar c){
    Calendar calendar = c;
    calendar.set(Calendar.DAY_OF_MONTH,1);
    returncalendar.get(Calendar.DAY_OF_WEEK);
}
 
/**
 * 获取本月1号是该年的第几周
 * @return
 */
publicstatic int getMonthStartWeek(Calendar c){
    Calendar calendar = c;
    calendar.set(Calendar.DATE,1);
    returncalendar.get(Calendar.WEEK_OF_YEAR);
}
 
/**
 * 获取当天是该年的第几周
 */
publicstatic int getCurrentWeekOfYear(){
    Calendar calendar = Calendar.getInstance();
    returncalendar.get(Calendar.WEEK_OF_YEAR);
}
 
/**
 * 获取上月的总天数
 * @return
 */
publicstatic int getLastMonthDays(Calendar c){
    Calendar calendar = c;
    calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) -1);
    returncalendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}
 
/**
 * 获取指定月份的总天数
 * @return
 */
publicstatic int getCurrentMonthDays(int month){
    Calendar c = Calendar.getInstance();
    c.set(Calendar.MONTH, month);
    returnc.getActualMaximum(Calendar.DAY_OF_MONTH);
}
 
/**
 * 获取指定年份有多少周
 * @param year
 * @return
 */
publicstatic int getTotalWeekOfYear(int year){
    Calendar c = Calendar.getInstance();
    returnc.getActualMaximum(Calendar.WEEK_OF_YEAR);
}
 
/**
 * 判断指定月份是否是当前月
 * @param month
 * @return
 */
publicstatic booleanisCurrentMonth(intmonth){
    Calendar c = Calendar.getInstance();
    return(c.get(Calendar.MONTH) == month)?true:false;
}
 
/**
 * 计算指定的月份共有多少天
 */
publicstatic int getTotalDaysOfMonth(int year, int month){
    Calendar c = Calendar.getInstance();
    c.set(Calendar.YEAR, year);
    c.set(Calendar.MONTH, month);
    c.set(Calendar.DATE,1);
    /**
     * 计算这个月有多少天
     */
    returnc.getActualMaximum(Calendar.DAY_OF_MONTH);
}
0 0
原创粉丝点击