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

求知探索 1年前 ⋅ 662 阅读
直接上代码,备份使用        
时间戳,长整型存储
            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

    我有话说: