我正试图在10天的时间内从gmail收件箱中获取邮件。
我需要一种计算日期的方法,如下所示:
Date toDate = new Date();//for the first time it will be a present date
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -10);
Date fromDate = calendar.getTime();//This date will be 10 days before today.
在下一次迭代中,我想要来自" fromDate"到日期前10天" fromDate"。 现在,
toDate = fromDate ; //and
fromDate = fromDate-10;
请告诉我如何实现这一目标。 我能够在第一次迭代中得到东西。我在其余的迭代中被困住了。
答案 0 :(得分:0)
然后from the "fromDate" to 10 days before "fromDate"
表示今天前20
天。
Calendar calendar = Calendar.getInstance(); System.out.println(calendar.getTime()); calendar.add(Calendar.DATE, -10); // 10 days before today Date toDate = calendar.getTime(); // remember now your calendar instance 10 days older than today // so reduce 10 more days equals to 20 days before today calendar.add(Calendar.DATE,-10); // another 10 days before today Date fromDate=calendar.getTime(); System.out.println("from date: "+fromDate); System.out.println("to date: "+toDate);
答案 1 :(得分:0)
您可以使用setTime(Date d)
课程中的Calendar
将其初始化为您想要的任何日期。然后,如果您之前已设置过日期,则可以应用另一个偏移
Date toDate = new Date();
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -10);
Date fromDate = cal.getTime(): // 10 days back from now
稍后,重新使用Calendar
实例(如果可用),或者创建一个使用fromDate
初始化的新实例。以下示例假设您只有fromDate
:
Calendar cal = Calendar.getInstance();
cal.setTime(from); // which is 10 days back
cal.add(Calendar.DATE, -10);
Date fromFromDate = cal.getTime(): // now 20 days back
答案 2 :(得分:0)
这是返回过去日期的实用程序方法。
例如,如果您想在20天之前获取日期,则在此方法中输入20作为输入。它将在20天之前返回您的日期
public static Date getPastDate(int dayCount)
{
try
{
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
int daysToSubstract = dayCount * (-1);
cal.add(Calendar.DATE, daysToSubstract);
Date dateBefore30Days = cal.getTime();
return dateBefore30Days;
}
catch (Exception e)
{
e.printStackTrace();
return null;
}
}
输入: 20
输出: 2月10日星期二17:58:30 IST 2015
希望这有助于你
答案 3 :(得分:0)
这就是你的代码在循环中的样子。
int numberOfIterations = 3;
Date toDate = new Date();
Date fromDate = null;
Calendar calendar = Calendar.getInstance();
for (int i = 0; i < numberOfIterations; i++) {
calendar.add(Calendar.DATE, -10);
fromDate = calendar.getTime();
System.out.println(fromDate + " - " + toDate);
toDate = fromDate;
}