Java获取指定月份的第一天和最后一天

£神魔★判官ぃ 2023-06-24 06:23 280阅读 0赞

1、创建测试类(DateTest5.java)

  1. package com.jeff;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. public class DateTest5 {
  6. public static void main(String[] args) {
  7. int year1 = 2019;
  8. int month1 = 2;
  9. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  10. System.out.println(year1 + "年" + month1 + "月第一天:" + format.format(getFirstDay(year1, month1)));
  11. System.out.println(year1 + "年" + month1 + "月最后一天:" + format.format(getLastDay(year1, month1)));
  12. System.out.println("==============================");
  13. int year2 = 2020;
  14. int month2 = 2;
  15. System.out.println(year2 + "年" + month2 + "月第一天:" + format.format(getFirstDay(year2, month2)));
  16. System.out.println(year2 + "年" + month2 + "月最后一天:" + format.format(getLastDay(year2, month2)));
  17. }
  18. public static Date getFirstDay(int year, int month) {
  19. // 获取Calendar类的实例
  20. Calendar c = Calendar.getInstance();
  21. // 设置年份
  22. c.set(Calendar.YEAR, year);
  23. // 设置月份,因为月份从0开始,所以用month - 1
  24. c.set(Calendar.MONTH, month - 1);
  25. // 设置日期
  26. c.set(Calendar.DAY_OF_MONTH, 1);
  27. return c.getTime();
  28. }
  29. public static Date getLastDay(int year, int month) {
  30. // 获取Calendar类的实例
  31. Calendar c = Calendar.getInstance();
  32. // 设置年份
  33. c.set(Calendar.YEAR, year);
  34. // 设置月份,因为月份从0开始,所以用month - 1
  35. c.set(Calendar.MONTH, month - 1);
  36. // 获取当前时间下,该月的最大日期的数字
  37. int lastDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);
  38. // 将获取的最大日期数设置为Calendar实例的日期数
  39. c.set(Calendar.DAY_OF_MONTH, lastDay);
  40. return c.getTime();
  41. }
  42. }

2、控制台输出结果
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,280人围观)

还没有评论,来说两句吧...

相关阅读