参考:Java中Calendar基本使用

    日历字段 Value 备注
    YEAR 当前年份
    MONTH 当前月份 初始值是从0开始,所以得到的比实际月份小1月
    DATE 一个月中的某天
    WEEK_OF_YEAR 当前年中的第几个星期
    WEEK_OF_MONTH 当前月中的第几个星期
    DAY_OF_MONTH 一个月中的第几天
    DAY_OF_YEAR 一年中的第几天
    DAY_OF_WEEK 一个星期中的第几天 周日=1,周6=7
    DAY_OF_WEEK_IN_MONTH 当前月中的第几个星期 当前月第1-7天是第一个星期,8-14是第二个星期,以此类推
    HOUR_OF_DAY 一天中的第几个小时
    MINUTE 一小时中的第几分钟
    SECOND 一分钟中的第几秒
    MILLISECOND 一秒中的第几毫秒
    1. /**
    2. * 获取一周里的第几周
    3. *
    4. * @param date
    5. * @return
    6. */
    7. public static int getDayOfWeek(Date date) {
    8. Calendar calendar = Calendar.getInstance();
    9. calendar.setTime(date);
    10. return calendar.get(Calendar.DAY_OF_WEEK);
    11. }
    12. /**
    13. * 获取一个月里的第几天
    14. *
    15. * @param date
    16. * @return
    17. */
    18. public static int getDayOfMonth(Date date) {
    19. Calendar calendar = Calendar.getInstance();
    20. calendar.setTime(date);
    21. return calendar.get(Calendar.DAY_OF_MONTH);
    22. }
    1. public static void main(String[] args) {
    2. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
    3. System.out.println("当前时间是:" + sdf.format(new Date()));
    4. Calendar ca = Calendar.getInstance();
    5. System.out.println("当前年份:" + ca.get(Calendar.YEAR));
    6. System.out.println("当前月:" + ca.get(Calendar.MONTH));// 初始月份是从0开始,所以输出值比是几月份小1
    7. System.out.println("当前日期:" + ca.get(Calendar.DATE));
    8. System.out.println("当前年份第几个星期:" + ca.get(Calendar.WEEK_OF_YEAR));
    9. System.out.println("当前月份第几个星期:" + ca.get(Calendar.WEEK_OF_MONTH));
    10. System.out.println("当前年份第几天:" + ca.get(Calendar.DAY_OF_YEAR));
    11. System.out.println("当前月份第几天:" + ca.get(Calendar.DAY_OF_MONTH));
    12. System.out.println("当前星期第几天:" + ca.get(Calendar.DAY_OF_WEEK));
    13. System.out.println("当前月份第几个星期:" + ca.get(Calendar.DAY_OF_WEEK_IN_MONTH));
    14. System.out.println("当天第几个小时:" + ca.get(Calendar.HOUR_OF_DAY));
    15. System.out.println("当前小时第几分钟:" + ca.get(Calendar.MINUTE));
    16. System.out.println("当前分钟第几秒:" + ca.get(Calendar.SECOND));
    17. System.out.println("当前秒数第几毫秒:" + ca.get(Calendar.MILLISECOND));
    18. }
    19. /**
    20. 当前时间是:2022-07-01 11:01:59:628
    21. 当前年份:2022
    22. 当前月:6
    23. 当前日期:1
    24. 当前年份第几个星期:27
    25. 当前月份第几个星期:1
    26. 当前年份第几天:182
    27. 当前月份第几天:1
    28. 当前星期第几天:6
    29. 当前月份第几个星期:1
    30. 当天第几个小时:11
    31. 当前小时第几分钟:1
    32. 当前分钟第几秒:59
    33. 当前秒数第几毫秒:629
    34. */