当前位置:   article > 正文

Java:得到指定年份、月份、周次的最后一天

Java:得到指定年份、月份、周次的最后一天

使用Java的工具类Calendar

通过Calendar可以进行很多的日期操作

/**
* 得到指定年份的最后一天
* @param year
*/
public static void getLastDayOfYear(int year){
Calendar calendar = Calendar.getInstance();
//先指定为后一年
calendar.set(Calendar.YEAR,year+1);
//DAY_OF_YEAR的值按照年份的第一天从1开始,设置为0可以得到前一年的最后一天
calendar.set(Calendar.DAY_OF_YEAR,0);
String lastDayOfYear = dateFormat.format(calendar.getTime());
System.out.println(lastDayOfYear);
}

/**
 * 得到指定月份的最后一天
 * @param month
 */
public static void getLastDayOfMonth(int month){
    Calendar calendar = Calendar.getInstance();
    //MONTH的值从0-11分别是12个月份
    calendar.set(Calendar.MONTH,month);
    //DAY_OF_MONTH的值按照月份的第一天从1开始,设置为0可以得到前一月的最后一天
    calendar.set(Calendar.DAY_OF_MONTH,0);
    String lastDayOfMonth = dateFormat.format(calendar.getTime());
    System.out.println(lastDayOfMonth);
}

/**
 * 得到指定日期所在周次的最后一天
 * @param date
 */
public static void getLastDayOfWeek(Date date){
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    //得到这一周的指定日期
    calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
    String lastDayOfWeek = dateFormat.format(calendar.getTime());
    System.out.println(lastDayOfWeek);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

Calendar除了能够得到某一天之外,也能通过get方法得到日期的信息

例如判断某一天是否为周末

public static boolean isWeekend(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY ||
calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY;
}
测试一下

public static void main(String[] args) {
getLastDayOfYear(2021);
getLastDayOfMonth(5);
getLastDayOfWeek(new Date());
System.out.println(isWeekend(new Date()));
}
运行结果
本文章来源于网络,版权归原作者所有,如果地推平台本站文章侵犯了您的权益,请联系我们删除。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/549278
推荐阅读
相关标签
  

闽ICP备14008679号