我正在尝试在Android Studio中构建日历应用。尽管有一件小事,一切都很好。当我有一个重复的事件(让我们说每周),并在插入后 - 这工作正常 - 我试图用功能增加它:
calendar.add(Calendar.DAY_OF_YEAR, 7);
发生以下情况: 它将事件准确地插入到月末和同一个月的同一个月,所以我怎样才能实现,月份也会增加,并且事件将在下个月出现?
希望我能解释一下我的意思。
答案 0 :(得分:0)
如果您想在日历中添加一周(7天),则应使用Calendar.DATE
而不是Calendar.DAY_OF_YEAR
:
Calendar cal = Calendar.getInstance()
cal.add(Calendar.DATE, 7);
答案 1 :(得分:0)
或者,您可以使用Joda-Time库。旧的java.util.Date/.Calendar类非常麻烦,应该避免使用。
如果您只想要没有时间的日期,请使用LocalDate
课程。
LocalDate today = LocalDate.now(); // Gets today's date using JVM’s current default time zone. You may want to specify a time zone instead, passing a `DateTimeZone` object.
LocalDate weekLater = today.plusWeeks( 1 );
Java 8及更高版本与新的java.time框架捆绑在一起。灵感来自Joda-Time,由JSR 310定义,并由ThreeTen-Extra项目扩展。打算成为Joda-Time的继任者。请参阅Tutorial。
目前,Android 8尚未提供Java 8技术。但是有一些后端项目。我听说后端端口可能在Android上运行良好,但我不知道细节。