gpt4 book ai didi

java - Calendar.WEEK_OF_YEAR 无法正常工作

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:44:44 27 4
gpt4 key购买 nike

Calendar.WEEK_OF_YEAR 无法正常工作。我的目标是每个星期一都是新的一周。我得到的结果在代码注释中。


我的代码是:

Calendar cal = Calendar.getInstance();
//cal.setMinimalDaysInFirstWeek(7);
//cal.setFirstDayOfWeek(0);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

Date d = sdf.parse("27/12/2014"); //SAT
Date d1 = sdf.parse("28/12/2014"); //SUN

cal.setTime(d);
Integer weekNumber1 = cal.get(Calendar.WEEK_OF_YEAR);

cal.setTime(d1);
Integer weekNumber2 = cal.get(Calendar.WEEK_OF_YEAR);

System.out.println( weekNumber1 );// 52
System.out.println( weekNumber2 );// 1`

第二个:

Calendar cal = Calendar.getInstance();
cal.setMinimalDaysInFirstWeek(7);
//cal.setFirstDayOfWeek(0);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

Date d = sdf.parse("27/12/2014"); //SAT
Date d1 = sdf.parse("28/12/2014"); //SUN

cal.setTime(d);
Integer weekNumber1 = cal.get(Calendar.WEEK_OF_YEAR);

cal.setTime(d1);
Integer weekNumber2 = cal.get(Calendar.WEEK_OF_YEAR);

System.out.println( weekNumber1 );// 51
System.out.println( weekNumber2 );// 52

第三个:

Calendar cal = Calendar.getInstance();
cal.setMinimalDaysInFirstWeek(7);
cal.setFirstDayOfWeek(0);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

Date d = sdf.parse("27/12/2014"); //SAT
Date d1 = sdf.parse("28/12/2014"); //SUN
Date d2 = sdf.parse("29/12/2014"); //Mon

cal.setTime(d);
Integer weekNumber1 = cal.get(Calendar.WEEK_OF_YEAR);

cal.setTime(d1);
Integer weekNumber2 = cal.get(Calendar.WEEK_OF_YEAR);

cal.setTime(d2);
Integer weekNumber3 = cal.get(Calendar.WEEK_OF_YEAR);

System.out.println( weekNumber1 );// 52
System.out.println( weekNumber2 );// 52
System.out.println( weekNumber3 );// 52

最佳答案

您必须将星期一设置为日历一周的第一天。

cal.setFirstDayOfWeek(Calendar.MONDAY);

关于java - Calendar.WEEK_OF_YEAR 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27655341/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com