Java 时间戳列表覆盖上一个时间戳
我使用arraylist存储过去5周的时间戳列表Java 时间戳列表覆盖上一个时间戳,java,timestamp,Java,Timestamp,我使用arraylist存储过去5周的时间戳列表 i.e., if today is 2014-06-09, I want to store 2014-06-02 2014-05-26 2014-05-19 2014-05-12 2014-05-05 这是我的密码 public class Test { public static void main(String ap[]) throws InterruptedException{
i.e., if today is 2014-06-09, I want to store
2014-06-02
2014-05-26
2014-05-19
2014-05-12
2014-05-05
这是我的密码
public class Test {
public static void main(String ap[]) throws InterruptedException{
List<Timestamp> ts = new ArrayList<Timestamp>();
Timestamp t = new Timestamp(new java.util.Date().getTime());
Timestamp temp = null;
for(int i=0;i<5;i++){
t.setTime(t.getTime()-(7*24 * (long)60* (long)60) * (long)1000);
temp = t;
System.out.println(t);
ts.add(temp);
temp = null;
}
}
}
公共类测试{
公共静态void main(字符串ap[])引发InterruptedException{
List ts=new ArrayList();
Timestamp t=new Timestamp(new java.util.Date().getTime());
时间戳temp=null;
对于(int i=0;i而言,您没有获得“新”时间戳的原因是因为您一直覆盖同一个时间戳并将其添加到列表中-因此您最终在列表中输入了5次相同的对象,最后一个值将显示在“all”中项目。您不需要temp
-只需创建一个新的时间戳
对象并将其添加到列表中:
List<Timestamp> ts = new ArrayList<Timestamp>();
Timestamp t = new Timestamp(new java.util.Date().getTime());
for(int i=0;i<5;i++){
t.setTime(t.getTime()-(7*24 * (long)60* (long)60) * (long)1000);
System.out.println(t);
ts.add(new Timestamp(t.getTime()));
}
List ts=new ArrayList();
Timestamp t=new Timestamp(new java.util.Date().getTime());
对于(int i=0;i