为什么date.toString()两次打印相同的结果

时间:2015-10-17 10:04:33

标签: java date

当我调用方法function exp(){ //do something } 两次时,即使有两秒间隔,我也会得到相同的结果。我认为第二次比第一次多出2次。

程序例如:

date.toString()

输出

Date date = new Date();
System.out.println(date.toString());
System.out.println("----------");
Thread.sleep(2000);
System.out.println(date.toString());

2 个答案:

答案 0 :(得分:4)

引用Date(强调我的)构造函数的Javadoc:

  

分配一个Date对象并对其进行初始化,使其代表分配的时间,测量精确到毫秒。

因此,打印的Date是创建对象的日期。由于您要打印相同的Date对象,因此它将是相同的输出。

Date date = new Date();
System.out.println(date.toString());
System.out.println("----------");
Thread.sleep(2000);
date = new Date(); // instantiate a new Date here
System.out.println(date.toString());

我机器上的输出:

Sat Oct 17 12:09:16 CEST 2015
----------
Sat Oct 17 12:09:18 CEST 2015

答案 1 :(得分:0)

试试这个......

Date date = new Date();
System.out.println(date.toString());
System.out.println("----------");
Thread.sleep(2000);
date = new Date();
System.out.println(date.toString());

在第二次打印之前再次启动“日期”