为了说明问题,请看下面一小段代码
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Cs {
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date d = format.parse("1986-09-13 21:00:00");
Calendar c = Calendar.getInstance();
for(int i=0;i<5;i++){
c.setTime(d);
c.add(Calendar.HOUR_OF_DAY, 1);
Timestamp ts = new Timestamp(c.getTimeInMillis());
d=ts;
System.out.println(ts);
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行结果为
1986-09-13 22:00:00.0
1986-09-13 23:00:00.0
1986-09-13 23:00:00.0
1986-09-14 00:00:00.0
1986-09-14 01:00:00.0
为何第一次 1986-09-13 23:00:00.0没有变化
谢谢!