Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何显示最后六个日期java.util.Date?_Java_Date - Fatal编程技术网

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

如何显示最后六个日期java.util.Date?,java,date,Java,Date,我去显示当前日期和最后六(6)个日期 例如: 02/11/2012 01/11/2012 31/10/2012 30/10/2012 29/10/2012 28/10/2012 要使用JAVA获取当前日期,我使用了: Date date = Calendar.getInstance().getTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); System.out.println("current day : "

我去显示当前日期和最后六(6)个日期

例如:

02/11/2012
01/11/2012
31/10/2012
30/10/2012
29/10/2012
28/10/2012
要使用JAVA获取当前日期,我使用了:

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

但是如何减少天数呢?

您可以使用
日历#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));
}
SimpleDataFormat sdf=新的SimpleDataFormat(“yyyy/MM/dd”);
Calendar cal=Calendar.getInstance();
Date-Date=cal.getTime();
System.out.println(sdf.format(date))//删除行以仅显示最近5天
对于(int i=0;i

诸如此类……

你的问题不清楚-标题是关于“本周”,但问题是关于过去6天。一般来说,它们不是一回事。例如,在周二,我不算“上周四”在本周,我明白了,给我一个理想的标题。你是说你的问题主体是正确的吗?在这种情况下:“我如何显示最后六个日历日?”或者类似的东西。顺便说一句,你必须使用java.util.Date和java.util.Calendar吗?Joda Time是一个更干净的API…我使用java.util.Date,但我还想要一个使用java.sql.Date的解决方案!你知道
java.util.Date
不能唯一地标识任何一天,因为它只是时间上的一个瞬间?我认为是星期五对于Joda,您可以使用:
new DateTime(sqlDate.getTime());
对于日历方法,您可以使用:
cal.setTime(sqlDate);
@berberber5进行转换,您可以执行以下操作:
new java.sql.Date(System.currentTimeMillis())
我得到了这个错误:/*java.util.Date不能转换为java.sql.Date*/…所以你能给我们一个完整的例子吗请告诉我们
java.sql.Date
java.util.Date
的一个子类型,所以我想这不会有什么区别。我在尝试转换时遇到了这个错误:java.util.Date不能转换为java.sql.Date
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()));