java获得当前日期是今年的第几周,以及这周的开始日期的方法

求知探索 1年前 ⋅ 917 阅读
直接上代码,备份使用        
时间戳,长整型存储
            long startTime1 = 1530613938532l;
            Calendar calendar = Calendar.getInstance();
            calendar.setFirstDayOfWeek(Calendar.MONDAY);//设置星期一为一周开始的第一天
            calendar.setMinimalDaysInFirstWeek(4);//可以不用设置
            calendar.setTimeInMillis(System.currentTimeMillis());//获得当前的时间戳
            int weekYear = calendar.get(Calendar.YEAR);//获得当前的年
            int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);//获得当前日期属于今年的第几周
            
            System.out.println("第几周:"+weekOfYear);
            calendar.setWeekDate(weekYear, weekOfYear, 2);//获得指定年的第几周的开始日期
            long starttime = calendar.getTime().getTime();//创建日期的时间该周的第一天,
            calendar.setWeekDate(weekYear, weekOfYear, 1);//获得指定年的第几周的结束日期
            long endtime = calendar.getTime().getTime();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            String dateStart = simpleDateFormat.format(starttime);//将时间戳格式化为指定格式
            String dateEnd = simpleDateFormat.format(endtime);
            System.out.println(dateStart);
            System.out.println(dateEnd);

 

这个获取第几周的方法在跨年周上会出现问题
上面这种方式用来获取指定日期的周开始日期和结束日期是可以的,用来判断当前日期属于第几周则不行
 
 
转载至:https://www.cnblogs.com/gne-hwz/p/9325415.html

全部评论: 0

    我有话说:
    • OωO
    • |´・ω・)ノ
    • ヾ(≧∇≦*)ゝ
    • (☆ω☆)
    • (╯‵□′)╯︵┴─┴
    •  ̄﹃ ̄
    • (/ω\)
    • ∠( ᐛ 」∠)_
    • (๑•̀ㅁ•́ฅ)
    • →_→
    • ୧(๑•̀⌄•́๑)૭
    • ٩(ˊᗜˋ*)و
    • (ノ°ο°)ノ
    • (´இ皿இ`)
    • ⌇●﹏●⌇
    • (ฅ´ω`ฅ)
    • (╯°A°)╯︵○○○
    • φ( ̄∇ ̄o)
    • ヾ(´・ ・`。)ノ"
    • ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
    • (ó﹏ò。)
    • Σ(っ °Д °;)っ
    • ( ,,´・ω・)ノ"(´っω・`。)
    • ╮(╯▽╰)╭
    • o(*////▽////*)q
    • >﹏<
    • ( ๑´•ω•) "(ㆆᴗㆆ)
    • (。•ˇ‸ˇ•。)
    • 颜文字