java 获取当前日期是多少周

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 获取当前日期是多少周相关的知识,希望对你有一定的参考价值。

使用Calendar类
/**Calendar类中的.get(Calendar.DAY_OF_WEEK)可以获取当前日期是星期几
* 获取当前日期是星期几<br>
*
* @param dt
* @return 当前日期是星期几
*/
public static String getWeekOfDate(Date dt)
String[] weekDays = "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六";
Calendar cal = Calendar.getInstance();
cal.setTime(dt);

int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0)
w = 0;

return weekDays[w];
参考技术A // jdk1.8 周日开一周第一天时
// ********格式化 每年的周数**************
int week = LocalDate.of(2019, 12, 30).get(WeekFields.ISO.weekOfWeekBasedYear());
int year = LocalDate.of(2019, 12, 30).get(WeekFields.ISO.weekBasedYear());
String formatWeek = new DecimalFormat("00").format(week);
System.out.println(year + "-" + formatWeek);// 2020-01
// ********格式化 每年的周数**************

Java根据当前第几周获取周一和周日的日期方法

前言:

我们经常会遇到查询根据某日的日期查询数据,根据第几周查询数据,根据月份查询数据。但有的时候,接口可能需要一个开始日期和一个结束日期来查询相应的数据,然而前端的时间控件只能获取202213(2022年第13周)这样的入参,并不能给到我们13周的开始日期和结束日期,所以这时候就需要后端同学进行转换了。

今天这篇文章就讲解下如何根据第几周获取周一和周日的日期和根据月份获取第一天和最后一天。

正文:

1.根据第几周获取周一和周日的代码

使用注意点,周的日期的格式202213,中间有个判断单独拿出来讲下,就是判断本年第一周的剩余天数是否大于3,根据这个准则来判断这一周属于不属于今年的第一周。(这个准则是我们前端日期控件的判断准则,为了保持一致所以我这里也加了这个判断)

public static Map<String,String> getTheSpecifiedYearAndWeekDate(String date) 
		date = date.replace("-", "");
		Integer year = Integer.valueOf(date.substring(0, 4));
		Integer week = Integer.valueOf(date.substring(4, 6));
        Map<String,String> timeMap=new HashMap<>();
        Calendar calendar = Calendar.getInstance();
        calendar.set(year, 0, 1);
        int zhouji=calendar.get(Calendar.DAY_OF_WEEK);
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
       //计算当年第一周还剩几天
        int dayOfWeek = 0;
        if (1==zhouji)
            dayOfWeek=1;
        
        if (2==zhouji)
            dayOfWeek=7;
        
        if (3==zhouji)
            dayOfWeek=6;
        
        if (4==zhouji)
            dayOfWeek=5;
        
        if (5==zhouji)
            dayOfWeek=4;
        
        if (6==zhouji)
            dayOfWeek=3;
        
        if (7==zhouji)
            dayOfWeek=2;
        
        System.out.println(dayOfWeek);
        if(dayOfWeek>3)
            week = week -2;
        else 
            week = week -1;//周数减去第一周再减去要得到的周
        

        calendar.add(Calendar.DAY_OF_YEAR, week *7+dayOfWeek);
        timeMap.put("fisrstDay",new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
        calendar.add(Calendar.DAY_OF_YEAR, 6);
        timeMap.put("lastDay",new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
       return timeMap;
    

2.根据当前月获取月初和月末的日期。

使用注意点,月的日期的格式202204

	public static Map<String,String> getMonthBeginToEnd(String date)
		Map<String,String> timeMap=new HashMap<>();
		date = date.replace("-", "");
		Integer year = Integer.valueOf(date.substring(0, 4));
		Integer month = Integer.valueOf(date.substring(4, 6));
		String fisrstDay = getFisrtDayOfMonth(year, month);
		String lastDay = getLastDayOfMonth(year, month);
		timeMap.put("fisrstDay",fisrstDay);
		timeMap.put("lastDay",lastDay);
		return timeMap;
	

总结:

我是阿达,一名喜欢分享知识的程序员,时不时的也会荒腔走板的聊一聊电影、电视剧、音乐、漫画,这里已经有41234位小伙伴在等你们啦,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言!

以上是关于java 获取当前日期是多少周的主要内容,如果未能解决你的问题,请参考以下文章

Java语言,已知一个年月日的日期,获取该日期是这一年的多少天...........

SQL SERVER查询时间是一年中第几周的函数

java 获取某一月的所有周的日期段(周一到周日)

Java根据当前第几周获取周一和周日的日期方法

Java根据当前第几周获取周一和周日的日期方法

java 分别获取当前时间的年月日以及当前时间所在周的周一周末日期