一、代码
public static void main(String[] args) {
Calendar cal = new GregorianCalendar();
// 每周第一天(周一)
cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
Date monday = cal.getTime();
String format = new SimpleDateFormat("yyyy-MM-dd").format(monday);
System.out.println(format + " 00:00:00");
// 每周第五天(周五)
cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek() + 4);
Date friday = cal.getTime();
format = new SimpleDateFormat("yyyy-MM-dd").format(friday);
System.out.println(format + " 00:00:00");
// 每月第一天
cal.set(Calendar.DAY_OF_MONTH, 1);
Date dayMonthStart = cal.getTime();
format = new SimpleDateFormat("yyyy-MM-dd").format(dayMonthStart);
System.out.println(format + " 00:00:00");
}
二、API
// 给定一周的第一天是周几(美国、非洲周天;法国、中国周一)
setFirstDayOfWeek(int value);
// 设置Calendar时间(年、月、日都可通过指定值设置)
set(int field, int value)
三、补充
Calendar cal = new GregorianCalendar(); //直接创建
Calendar cal = Calendar.getInstance(); // 工厂方法
Calendar类实现了公历⽇历,GregorianCalendar是Calendar类的⼀个具体实现。Calendar 的
getInstance()⽅法返回⼀个默认⽤当前的语⾔环境和时区初始化的GregorianCalendar对象。