我有我的小代码,我想得到双周刊,但似乎不能正确的。如何在日历类中显示每周一次。在我的上,我只是随机输入了代码。
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;发布于 2019-03-28 00:18:01
我认为
.add(Calendar.WEEK_OF_YEAR,2);是对的,即使我会做一些关于它在一年中的变化行为的测试。
发布于 2019-03-28 16:50:47
java.time
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);用不同的字符串(以不同的顺序)尝试代码,会给出如下结果:
每周加: 2020-01-08加年:2020年-12-25加作季刊分配: 2020-03-25加作半年发: 2020-06-25加月:
你的日历也有一天的时间吗?没问题:如果使用ZonedDateTime或LocalDateTime而不是LocalDate,代码的工作方式是相同的。
您使用的Calendar类设计很差,而且已经过时了。我发现java.time (现代java.time和time )使用起来要好得多。所以我想给你看这个选项。
问:我可以在安卓系统上使用java.time吗?
是的,java.time在较旧的和更新的安卓设备上运行得很好。它只需要至少Java 6。
org.threeten.bp导入日期和时间类。链接
java.time的地方。java.time到Java6和7的后端端口(ThreeTen for JSR-310)。https://stackoverflow.com/questions/55388347
复制相似问题