Java(处理环境)不会为我提供本地时间
我正在尝试根据本地时区调整epoc时间(即GMT-7,但它显示GMT)。我相当肯定这应该行得通,但它不是Java(处理环境)不会为我提供本地时间,java,time,timezone,processing,localtime,Java,Time,Timezone,Processing,Localtime,我正在尝试根据本地时区调整epoc时间(即GMT-7,但它显示GMT)。我相当肯定这应该行得通,但它不是 Calendar localTime = new GregorianCalendar(TimeZone.getDefault()); Date dd = localTime.getTime(); long t = dd.getTime()/1000; System.out.printf("%d\n",t); 但它仍然基于GMT而不是GMT-7(我的时区)输出epoc时间。在玩了一段时间之
Calendar localTime = new GregorianCalendar(TimeZone.getDefault());
Date dd = localTime.getTime();
long t = dd.getTime()/1000;
System.out.printf("%d\n",t);
但它仍然基于GMT而不是GMT-7(我的时区)输出epoc时间。在玩了一段时间之后,我确实让它起作用了
Date ddd = new Date();
long t = ddd.getTime() + TimeZone.getDefault().getOffset( ddd.getTime() );
t = t/1000;
但是为什么第一个街区不起作用呢 A
Date
对象简单地将UTC时间包装为从纪元开始的毫秒。在Java中,所有时间都是这样表示的。这也使它与工作保持一致。无论何时要打印出某个内容,都要对其应用时区偏移量和DST偏移量
这就是为什么SimpleDateFormat
类接受时区,但Date
类上没有时区设置器
强制性:我听说datetime是一个更容易使用的API
另外,请看一下Java中的标准日期和时间库