java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java获取日期是第几周

如何用java获取指定日期是第几周

作者:飞翔的佩奇

这篇文章主要给大家介绍了关于如何用java获取指定日期是第几周的相关资料,在开始之前我们需要先了解如何获取当前日期所在的年份以及第几周,在Java中可以使用Calendar类来获取这些信息,需要的朋友可以参考下

需求场景:

根据指定的日期,比如 2023-03-07 ,是第几周

代码如下:

public class Test11 {
    public static void main(String[] args) {
        System.out.println(getWeeksInMonthOfDate("2023-03-07"));
    }
    /**
     * 获取指定日期-XXXX年X月第X周
     * @param dateStr
     * @return
     */
    public static String getWeeksInMonthOfDate(String dateStr){
        SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        try {
            calendar.setTime(df.parse(dateStr));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        //设置每周第一天为周一 默认每周第一天为周日
        calendar.setFirstDayOfWeek(Calendar.MONDAY);
        //获取当前日期所在周周日
        calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
        return String.valueOf(calendar.get(Calendar.YEAR)).concat("年").
                concat(String.valueOf(calendar.get(Calendar.MONTH)+1)).concat("月第").
                concat(String.valueOf(calendar.get(Calendar.WEEK_OF_MONTH))).concat("周");
    }
}

运行结果

2023年3月第2周

附:根据指定日期 判断是今年第几周

function getWeekDay(date1){
	let date2 = new Date(date1.getFullYear(), 0, 1);
	let d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
	return Math.ceil((d + ((date2.getDay() + 1) - 1)) / 7);
}
getWeekDay(new Date());

总结

到此这篇关于如何用java获取指定日期是第几周的文章就介绍到这了,更多相关java获取日期是第几周内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文