一、Java 时间和时区API
1、Date
类Date表示特定的瞬间,精确到毫秒。获得一个表示当前时间的Date对象有两种方式:
Date date = new Date();
Date date = Calendar.getInstance().getTime();
Date对象本身所存储的毫秒数可以通过date.getTime()方法得到;函数返回自1970年1月1日 00:00:00 GMT以来的毫秒数。
它与时区和地域没有关系。
如:在北京时间(GMT+8)下,new Date()时间是2020-07-11 09:00:00,getTime()为1594429200000
在曼谷时间(GMT+7)下,new Date()时间是2020-07-11 08:00:00,getTime()为1594429200000
因为不管在哪个时区,在同一时刻,只是时间表示不同,但是两个时间间隔的毫秒数是一样的。
Date date = new Date(1594429200000L);
上面通过时间戳的方式new Date,同一个时间戳,在不同的时区下生成的日期是不一样的:
在北京时间(GMT+8)下,new Date()时间是2020-07-11 09:00:00
在曼谷时间(GMT+7)下,new Date()时间是2020-07-11 08:00:00
※综上所述,new Date生成