Java DateTimeZone.convertLocalToUTC时区后仍显示本地
我使用DateTimeZone.convertLocalToUTC将本地时间转换为UTC。时间已正确更改,但转换后,时区信息仍显示原始本地时区。请参考下面的示例代码Java DateTimeZone.convertLocalToUTC时区后仍显示本地,java,time,timezone,jodatime,timestamp-with-timezone,Java,Time,Timezone,Jodatime,Timestamp With Timezone,我使用DateTimeZone.convertLocalToUTC将本地时间转换为UTC。时间已正确更改,但转换后,时区信息仍显示原始本地时区。请参考下面的示例代码 Date gmttime = new Date(tz.convertLocalToUTC(System.currentTimeMillis(),false)); System.out.println(gmttime.toString()); 输出: 2013年10月16日星期三12:58:19IST 请注意粗体值,我希望它是UTC
Date gmttime = new Date(tz.convertLocalToUTC(System.currentTimeMillis(),false));
System.out.println(gmttime.toString());
输出:
2013年10月16日星期三12:58:19IST
请注意粗体值,我希望它是UTC。如果我遗漏了什么,请告诉我。\Date.toString()
将在本地时区打印日期
使用SimpleDataFormat
打印针对特定时区格式化的日期
:
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("E MMM dd HH:mm:ss:SS z");
format.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(format.format(date));
}
尝试:
输出:
Wed Oct 16 08:53:50 UTC 2013
convertLocalToUTC
使用相同的本地时间将本地瞬间转换为标准UTC瞬间 仅供参考,new Date
是去擦亮的,那么如果new Date()是去擦亮的,还有什么办法呢?我的意思是new Date(…)
是去擦亮的。请参见我的回答。时间(HH:MM:SS)以UTC正确显示,只有时区打印为本地
Wed Oct 16 08:53:50 UTC 2013