Calendar.DAY_OF_WEEK 和 Calendar.DAY_OF_MONTH 之间有什么区别?每次的输出都是一样的

Par*_*ngh -2 java date java.util.calendar

我正在使用Timestamp当前时间的类来设置时间。Calendar我先用 来DAY_OF_WEEK设置上课时间DAY_OF_MONTH。I\xe2\x80\x99m 每次都得到相同的输出。DAY_OF_MONTH那么和之间有什么区别DAY_OF_WEEK

\n\n
    Timestamp followUpDateBegins = new Timestamp(System.currentTimeMillis());\n\n    Calendar cal = Calendar.getInstance();\n    cal.setTime(followUpDateBegins);\n    cal.add(Calendar.DAY_OF_WEEK, -30);\n    cal.set(Calendar.HOUR, 0);\n    cal.set(Calendar.MINUTE, 0);\n    cal.set(Calendar.SECOND, 0);\n    cal.set(Calendar.MILLISECOND, 0);\n\n    followUpDateBegins.setTime(cal.getTime().getTime());\n    System.out.println("followUpDateBegins      "+followUpDateBegins);\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者

\n\n
    Timestamp followUpDateBeginsSecond = new Timestamp(System.currentTimeMillis());\n\n    cal.setTime(followUpDateBeginsSecond);\n    cal.add(Calendar.DAY_OF_MONTH, -30);\n    cal.set(Calendar.HOUR, 0);\n    cal.set(Calendar.MINUTE, 0);\n    cal.set(Calendar.SECOND, 0);\n    cal.set(Calendar.MILLISECOND, 0);\n\n    followUpDateBeginsSecond.setTime(cal.getTime().getTime());\n    System.out.println("followUpDateBegins" + followUpDateBeginsSecond);\n
Run Code Online (Sandbox Code Playgroud)\n

HBo*_*HBo 5

DAY_OF_WEEK 是一周中的某一天(7 天),DAY_OF_MONTH 是一月中的某一天(<=31 天)