Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DateTimeZone.convertLocalToUTC时区后仍显示本地_Java_Time_Timezone_Jodatime_Timestamp With Timezone - Fatal编程技术网

Java DateTimeZone.convertLocalToUTC时区后仍显示本地

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

我使用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.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