根据给定时区(本地时区)获取以毫秒为单位的时间

Man*_*yal 3 java time timezone date unix-timestamp

这似乎是一个错误的问题,但听我说.当我调用System.currentTimeMillis()时,它给了我秒,当我从在线毫秒转换为人类可读格式时,转换器给我GMT或UTC时间而不是我当地时间.有没有办法以毫秒为单位获得当前的本地时间,因为当我输入当地时间时,在线转换器上的毫秒值会发生变化.

总而言之,我的问题是以毫秒为单位获取当前本地时间,这与我在java中使用System.currentTimeMillis()函数的方式有所不同.

Ell*_*sch 13

您可以使用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);
Run Code Online (Sandbox Code Playgroud)