为了账号安全,请及时绑定邮箱和手机立即绑定

如何设置日历双周刊

如何设置日历双周刊

慕村225694 2022-09-07 17:08:23
我有我的小代码,我想得到每两周一次,但似乎不能正确。如何在日历类中显示每两周一次。在我的Bi Weekly上,我只是输入了随机代码。   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;
查看完整描述

2 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

我认为

.add(Calendar.WEEK_OF_YEAR,2);

是正确的,即使我会对它在年份变化期间的行为进行一些测试


查看完整回答
反对 回复 2022-09-07
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

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);

尝试使用字符串(以不同的顺序)给出的差异代码:


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

您的日历活动是否也有时间?没问题:如果使用 a 或 a 而不是 .ZonedDateTimeLocalDateTimeLocalDate


您使用的类设计不佳且已过时。我发现java.time,现代Java日期和时间API,使用起来要好得多。这就是为什么我想向您展示此选项的原因。Calendar


问:我可以在 Android 上使用 java.time 吗?

是的,java.time在较旧和较新的Android设备上运行良好。它只需要至少Java 6。


在Java 8及更高版本以及较新的Android设备(从API级别26开始)中,现代API是内置的。

在Java 6和7中,获得ThreeTen Backport,现代类的backport(ThreeTen for JSR 310;请参阅底部的链接)。

在(较旧的)Android上使用Android版本的ThreeTen Backport。它被称为ThreeTenABP。并确保从中导入带有子包的日期和时间类。org.threeten.bp


查看完整回答
反对 回复 2022-09-07
  • 2 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信