欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA:时间函数一个有意思的现象

程序员文章站 2022-03-12 16:08:16
...

今天在使用new Date() 与 System.currentTimeMillis() 的时候,突然发现个有趣的现象,心中有些猜想,录以后观。

情形一:new Date() 在 System.currentTimeMillis() 前调用、打印

Date date = new Date();


System.out.printf("%tQ%n",date);
System.out.println("===================");
System.out.println(System.currentTimeMillis());

结果:

1637302049905

===================

1637302049921

情形二:new Date() 在 System.currentTimeMillis()后调用、打印

System.out.println(System.currentTimeMillis());
System.out.println("===================");
System.out.printf("%tQ%n",date);

结果:

1637302148222

===================

1637302148222

情形三:new Date() 在 System.currentTimeMillis()前、后分别调用、打印

Date date = new Date();


System.out.printf("%tQ%n",date);
System.out.println("===================");
System.out.println(System.currentTimeMillis());


System.out.println("========================");
System.out.println("========================");


System.out.println(System.currentTimeMillis());
System.out.println("===================");
System.out.printf("%tQ%n",date);

结果:

1637302223521

===================

1637302223537

========================

========================

1637302223538

===================

1637302223521

或者:

1637302280837

===================

1637302280853

========================

========================

1637302280853

===================

1637302280837

猜测:

时间数据跟函数调用后,生成的对象有关。