基本上我有一个日期以这种格式存储为文本: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/