java - 在 Java 中获取特定时间段后的日期

标签 java android sqlite date

基本上我有一个日期以这种格式存储为文本:16/09/2014 在 SQLite 浏览器中。我想知道有什么方法可以使用 Java 获取数据库中每条记录一天、一周、一个月和一年后的日期。

我检索并在 ListView 中显示从数据库检索的日期:

viewHolder.txt_ddate.setText("Next Payment On: "
                + _recurlist.get(position).getRecurringStartDate().trim());

所以我在考虑使用 Java 技术来获取我上面提到的日期。我对此进行了研究,发现 Documentation但我不确定如何将其实现到我的问题中。

有指导吗?提前致谢。

最佳答案

像您的示例中那样使用 Calendar 对象,它提供了 add 方法。

String dateAsString = "16/09/2014";
DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.setTime(formatter.parse(dateAsString));

c.add(Calendar.DAY_OF_MONTH, 1);
System.out.println("After one day: " + formatter.format(c.getTimeInMillis()));
c.add(Calendar.DAY_OF_MONTH, -1);

c.add(Calendar.WEEK_OF_YEAR, 1);
System.out.println("After one week: " + formatter.format(c.getTimeInMillis()));
c.add(Calendar.WEEK_OF_YEAR, -1);

c.add(Calendar.MONTH, 1);
System.out.println("After one month: " + formatter.format(c.getTimeInMillis()));
c.add(Calendar.MONTH, -1);

c.add(Calendar.YEAR, 1);
System.out.println("After one year: " + formatter.format(c.getTimeInMillis()));
c.add(Calendar.YEAR, -1);

输出:

After one day: 17/09/2014
After one week: 23/09/2014
After one month: 16/10/2014
After one year: 16/09/2015

关于java - 在 Java 中获取特定时间段后的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25870328/

相关文章:

sql - SQL更新/替换行,不影响某些列

sqlite - 在sqlite中选择没有重复 "First Letter"的查询

java - 如何在水平选项卡滚动时制作固定横幅?

android - 具有自定义 View 的 RadioButton Android

android - 如何在 float 操作按钮的背景中设置图像而不是 android 中的颜色?

android - SimpleCursorAdapter 与 CursorAdapter?

java - Safari Activity 窗口 java applet 类未找到

java - GWT:更改树行的填充?

java - 如何使用 apache-commons-dbutils 将数据库列名映射到 Java 类字段

java - Android - 更改ListView项目的TextStyle