Java 给定某年的第几周,计算此周的起止日期(已解决)

如果你恰巧查阅到这篇微博,说明你也是为了集体荣誉做出了让步,同命相连,心疼你一秒钟!

废话不多说,代码直接呈上,此处写了个小算法,解释见注释:

范例:

比如:输入2020,3,代表2020年的第三周,需要返回本周的开始日期:2020-01-12和结束日期:2020-01-18。

import java.text.SimpleDateFormat;
import java.util.Calendar;/*** @author :tjm* @description:根据某年的第几周,查询本周的起止日期*/
public class TestWeekToDay {public static void main(String[] args) {weekToDayFormate(2020, 3);}// 根据year年的第week周,查询本周的起止时间private static void weekToDayFormate(int year, int week){Calendar calendar = Calendar.getInstance();// ①.设置该年份的开始日期:第一个月的第一天calendar.set(year,0,1);// ②.计算出第一周还剩几天:+1是因为1号是1天int dayOfWeek = 7 - calendar.get(Calendar.DAY_OF_WEEK) + 1;// ③.周数减去第一周再减去要得到的周week = week - 2;// ④.计算起止日期calendar.add(Calendar.DAY_OF_YEAR,week * 7 + dayOfWeek);System.out.println("开始日期:" + new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));calendar.add(Calendar.DAY_OF_YEAR, 6);System.out.println("结束日期:" + new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));}}

输出结果:

    开始日期:2020-01-12结束日期:2020-01-18

可怜的人类,希望对你有所帮助!

 

更多精彩,请关注我的"今日头条号":Java云笔记
随时随地,让你拥有最新,最便捷的掌上云服务


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部