欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java获取当前时间所在一周的周一和周日日期

程序员文章站 2022-05-17 21:27:00
...
package javatest;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class Test {
	public static void main(String[] args) {
		getWeekDate();
	}
	
	/**
     * 当前时间所在一周的周一和周日时间
     * @param time 当前时间
     * @return
     */
    public static Map<String,String> getWeekDate() {
        Map<String,String> map = new HashMap();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

         Calendar cal = Calendar.getInstance();  
         cal.setFirstDayOfWeek(Calendar.MONDAY);// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一  
         int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天  
         if(dayWeek==1){
             dayWeek = 8;
         }
         System.out.println("要计算日期为:" + sdf.format(cal.getTime())); // 输出要计算日期  

         cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - dayWeek);// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值  
         Date mondayDate = cal.getTime();
         String weekBegin = sdf.format(mondayDate);  
         System.out.println("所在周星期一的日期:" + weekBegin);  


         cal.add(Calendar.DATE, 4 +cal.getFirstDayOfWeek());
         Date sundayDate = cal.getTime();
         String weekEnd = sdf.format(sundayDate);  
         System.out.println("所在周星期日的日期:" + weekEnd);

         map.put("mondayDate", weekBegin);
         map.put("sundayDate", weekEnd);
        return map;
    }
	
}

结果:

java获取当前时间所在一周的周一和周日日期

相关标签: java 日期