Java for Android的日期错误增加

时间:2015-10-23 07:14:22

标签: java android date

我正在尝试在Android Studio中构建日历应用。尽管有一件小事,一切都很好。当我有一个重复的事件(让我们说每周),并在插入后 - 这工作正常 - 我试图用功能增加它:

calendar.add(Calendar.DAY_OF_YEAR, 7);

发生以下情况: 它将事件准确地插入到月末和同一个月的同一个月,所以我怎样才能实现,月份也会增加,并且事件将在下个月出现?

希望我能解释一下我的意思。

2 个答案:

答案 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.time

Java 8及更高版本与新的java.time框架捆绑在一起。灵感来自Joda-Time,由JSR 310定义,并由ThreeTen-Extra项目扩展。打算成为Joda-Time的继任者。请参阅Tutorial

目前,Android 8尚未提供Java 8技术。但是有一些后端项目。我听说后端端口可能在Android上运行良好,但我不知道细节。