Java 为什么要两次date.toString()来打印相同的结果
当我两次调用方法Java 为什么要两次date.toString()来打印相同的结果,java,date,Java,Date,当我两次调用方法date.toString()。我认为第二次应该比第一次多2秒 程序,例如: Date date = new Date(); System.out.println(date.toString()); System.out.println("----------"); Thread.sleep(2000); System.out.println(date.toString()); 输出是 2015年10月17日星期六17:54:39 CST ---------- 2015年10月
date.toString()。我认为第二次应该比第一次多2秒
程序,例如:
Date date = new Date();
System.out.println(date.toString());
System.out.println("----------");
Thread.sleep(2000);
System.out.println(date.toString());
输出是
2015年10月17日星期六17:54:39 CST
----------
2015年10月17日星期六17:54:39 CST
引用了(强调矿山)建造商的Javadoc:
分配日期对象并对其进行初始化,使其表示分配日期对象的时间,以最接近的毫秒为单位
因此,打印的日期是创建对象的日期。由于您正在打印相同的日期
对象,因此它将是相同的输出
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());
我的机器上的输出:
2015年10月17日星期六12:09:16
----------
2015年10月17日星期六12:09:18 CEST
引用了(强调矿山)建造商的Javadoc:
分配日期对象并对其进行初始化,使其表示分配日期对象的时间,以最接近的毫秒为单位
因此,打印的日期是创建对象的日期。由于您正在打印相同的日期
对象,因此它将是相同的输出
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());
我的机器上的输出:
2015年10月17日星期六12:09:16
----------
2015年10月17日星期六12:09:18 CEST
试试这个
Date date = new Date();
System.out.println(date.toString());
System.out.println("----------");
Thread.sleep(2000);
date = new Date();
System.out.println(date.toString());
只需在第二次打印前再次启动“日期”试试这个
Date date = new Date();
System.out.println(date.toString());
System.out.println("----------");
Thread.sleep(2000);
date = new Date();
System.out.println(date.toString());
只需在第二次打印之前再次启动“日期”date
仅包含初始化到的时间。它不是时钟,它只是表示一个特定的日期/时间。为什么您认为存储在Date
中的时间戳应该更改?顺便说一句,在Java 8及更高版本中,旧的Java.util.Date类已被新框架取代。专门针对这个问题,请查看Instant
和zoneDateTime
类。Date
只包含初始化到的时间。它不是时钟,它只是表示一个特定的日期/时间。为什么您认为存储在Date
中的时间戳应该更改?顺便说一句,在Java 8及更高版本中,旧的Java.util.Date类已被新框架取代。专门针对这个问题,请查看Instant
和zoneDateTime
类。