简体   繁体   English

如何显示最后六个日期java.util.Date?

[英]How to display last six dates, java.util.Date?

I went to display the current date and the six (6) last dates 我去显示当前日期和最后六(6)个日期

example : 例如:

02/11/2012
01/11/2012
31/10/2012
30/10/2012
29/10/2012
28/10/2012

to get the current day in JAVA I used : 在我使用的JAVA中获取当前日期:

Date date = Calendar.getInstance().getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
System.out.println("current day : "+sdf.format(date));

but how do I decrement the days ? 但是我该如何减少日子呢?

You can use the Calendar#add method to substract a day, like: 您可以使用Calendar#add方法减去一天,例如:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Calendar cal = Calendar.getInstance();
Date date=cal.getTime();
System.out.println(sdf.format(date)); //remove line to display only the last 5 days 
for (int i=0;i<5;i++){
   cal.add(Calendar.DAY_OF_MONTH,-1);
   date=cal.getTime();
   System.out.println(sdf.format(date));
}

Like Jon Skeet (soon Mr. 500k :) ) suggested, I too find the Joda Time API more cleaner and appropriate, even for such simple tasks: 就像乔恩·斯基特(Jon Skeet)(不久500k先生:))所建议的那样,即使对于以下简单任务,我也发现Joda Time API更加简洁和合适:

DateTime dt = new DateTime();                     
for (int i = 0; i < 6; i++) {                     
    System.out.println(dt.toString("yyyy/MM/dd"));
    dt = dt.minusDays(1);                         
}                                                 
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
System.out.println("current day : "+sdf.format(c.getTime()));

// decrement 1 day
c.add(Calendar.DAY_OF_MONTH, -1);

// getTime() returns a java.util.Date
System.out.println("the day before : "+sdf.format(c.getTime()));

// getTimeInMillis() returns a long, which can be used to construct a java.sql.Date
System.out.println("the day before : "+sdf.format(new java.sql.Date(c.getTimeInMillis()));

And so on... 等等...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM