栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 给一个开学日期,计算当天是开学第几周星期几或者开学第几周星期几为哪一天

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 给一个开学日期,计算当天是开学第几周星期几或者开学第几周星期几为哪一天

1.计算当天是开学第几周星期几

public static int getweek(Date d1, Date d2) {
		// 获得当前日期与本周日相差的天数
		Calendar cd = Calendar.getInstance();
		cd.setTime(d2);
		// 获得今天是一周的第几天,星期日是第一天,星期二是第二天......
		int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK)-1 ; // 因为按中国礼拜一作为第一天所以这里减1
		long daysBetween = (d1.getTime() - d2.getTime() + 1000000) / (60 * 60 * 24 * 1000);
		int weekindex= (int) (daysBetween / 7+1);
		if(dayOfWeek+daysBetween % 7>7){
			weekindex+=1;
		}
		return weekindex;
	}

	public static void main(String[] args) {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");
		Date d=new Date();
		String startday="2022-02-16";//开学日期
		System.out.println("当天日期:"+format.format(d));
		System.out.println("开学日期:"+startday);
		//计算当前日期是开学的第几周
		Date d1 = null;
		try {
			d1 = format.parse(startday);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		int weeks = getweek(d,d1) ;//开学第几周
		String currSun = dateFm.format(d);//获取当前日期是星期几
		System.out.println("当天为开学第"+weeks+"周---"+currSun);
	}

控制台输出如下:

2. 开学第几周星期几为哪一天

public static String getDayAfter(String Day,int days){
		Calendar c = Calendar.getInstance();
		Date date=null;
		try {
			date = new SimpleDateFormat("yyyy-MM-dd").parse(Day);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		c.setTime(date);
		int day=c.get(Calendar.DATE);
		c.set(Calendar.DATE,day+days);//days开学天数
		String dayAfter=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
		return dayAfter;
	}
	public static void main(String[] args) {
		int week=4;//开学第三周
		int week_day=3;//星期三
		System.out.println("开学第"+week+"周--星期"+week_day);
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		String startday="2022-02-16";//开学日期
		System.out.println("开学日期:"+startday);
		Date d1 = null;
		try {
			d1 = format.parse(startday);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		Calendar cd = Calendar.getInstance();
		cd.setTime(d1);
		// 获得今天是一周的第几天,星期日是第一天,星期二是第二天......
		int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK)-1 ; // 因为按中国礼拜一作为第一天所以这里减1
		//计算从开学到指定周的天数
		int days=(week-2)*7+(7-dayOfWeek)+week_day;//完整周天数+第一周上课天数+指定周上课天数
		System.out.println("开学到指定周的天数:"+days);
		String dayAfter=getDayAfter(startday,days);
		System.out.println("指定周的具体日期:"+dayAfter);
	}

控制台输出如下:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760721.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号