我有我的小代码,我想每两周得到一次,但似乎做对了。如何在日历类中每两周显示一次。在我的双周刊上,我只是输入了随机代码。
case "Bi-Weekly": {
beginCalendar.add(Calendar.DAY_OF_MONTH, Calendar.WEDNESDAY);
break;
}
case "Month": {
beginCalendar.add(Calendar.MONTH, 1);
break;
}
case "Quarterly": {
beginCalendar.add(Calendar.MONTH, 3);
break;
}
case "Half Yearly": {
beginCalendar.add(Calendar.MONTH, 6);
break;
}
case "Year": {
beginCalendar.add(Calendar.MONTH, 12);
break;
答案 0 :(得分:0)
我认为
.add(Calendar.WEEK_OF_YEAR,2);
是正确的选择,即使我会对其在年度变化期间的表现进行一些测试
答案 1 :(得分:0)
LocalDate date = LocalDate.of(2019, Month.DECEMBER, 25);
switch (recurrence) {
case "Bi-Weekly": {
date = date.plusWeeks(2);
break;
}
case "Month": {
date = date.plusMonths(1);
break;
}
case "Quarterly": {
date = date.plusMonths(3);
break;
}
case "Half Yearly": {
date = date.plusMonths(6);
break;
}
case "Year": {
date = date.plusYears(1);
break;
}
default:
System.err.println("Unrecognized recurrence: " + recurrence);
break;
}
System.out.println("Added for " + recurrence + " gave: " + date);
使用不同的字符串(以不同的顺序)尝试代码可以得出:
Added for Bi-Weekly gave: 2020-01-08 Added for Year gave: 2020-12-25 Added for Quarterly gave: 2020-03-25 Added for Half Yearly gave: 2020-06-25 Added for Month gave: 2020-01-25
您的日历活动也有一天的时间吗?没问题:如果使用ZonedDateTime
或LocalDateTime
而不是LocalDate
,则代码的工作原理相同。
您使用的Calendar
类的设计很差,而且已经过时了。我发现java.time是现代的Java日期和时间API,使用起来非常好。这就是为什么我想向您显示此选项的原因。
是的,java.time在较新和较旧的Android设备上均可正常运行。它只需要至少 Java 6 。
org.threeten.bp
导入日期和时间类。java.time
。java.time
向Java 6和7(JSR-310的ThreeTen)的反向端口。