这似乎是一个错误的问题,但听我说完。当我调用System. current tTimeMillis()时,它给我几秒钟,当我将其转换为人类可读格式时,从在线毫秒到日期转换器给我GMT或UTC时间,但不是我的本地时间。有没有办法以毫秒为单位获取当前本地时间,因为我看到当我在其中输入本地时间时,在线转换器上的毫秒值发生了变化。
总而言之,我的问题是以毫秒为单位获取当前本地时间,这与我在java中使用System. CurrentTimeMillis()函数获得的时间有一些不同。
您可以使用TimeZone. getOffset(long)
,它以毫秒为单位提供添加到UTC的时间量以获取本地时间。
long date = System.currentTimeMillis();
int offset = TimeZone.getDefault().getOffset(date);
System.out.printf("%d + %d = %d%n", date, offset, date + offset);