Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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
如何将windows时区转换为Java时区?_Java_Windows - Fatal编程技术网

如何将windows时区转换为Java时区?

如何将windows时区转换为Java时区?,java,windows,Java,Windows,我将windows时区作为输入,我想将其转换为Java中的UTC时间。某些windows时区与Java时区不同。 例如: String input = "13/01/2020 10:46:10 PST" ; DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss zz") ; ZonedDateTime zdt = ZonedDateTime.parse( input , f ) ; System.out.p

我将windows时区作为输入,我想将其转换为Java中的UTC时间。某些windows时区与Java时区不同。 例如:

String input = "13/01/2020 10:46:10 PST" ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss zz") ;
ZonedDateTime zdt = ZonedDateTime.parse( input , f ) ;
System.out.println( "zdt.toString(): " + zdt ) ;
Windows时区=MPST(马来半岛标准时间) 等效爪哇时区=新加坡标准时间 我的输入类似于-13/01/2020 10:46:10 MPST。因此,当我尝试将此日期格式转换为UTC时,我得到了java.text.ParseException:Unparseable date:“13/01/2020 10:46:10 MPST”

请帮忙

提前感谢

避免时区的伪代码 媒体中常见的2-4个字母的伪码不是实际时区。诸如
IST
PST
CST
和您的
MPST
等值都不是标准化的,甚至不是唯一的

仅使用格式为
大陆/地区
的正确时区名称。你看这个可能过时了

020-01-15T08:02:26.612494+08:00[亚洲/吉隆坡]

你看

本课程将尝试通过使用2-4个字母的伪时区来猜测实时时区。例如:

String input = "13/01/2020 10:46:10 PST" ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss zz") ;
ZonedDateTime zdt = ZonedDateTime.parse( input , f ) ;
System.out.println( "zdt.toString(): " + zdt ) ;
zdt.toString():2020-01-13T10:46:10-08:00[美国/洛杉矶]

但是猜测MPST失败,出现运行时错误

ISO 8601 在任何情况下,如
PST
MPST
,都应该返回数据源教育这些人了解标准,该标准旨在以文本形式交换日期时间值


顺便说一句,上面看到的类的
toString
方法通过明智地在方括号中添加时区名称扩展了ISO 8601标准格式。

“MPST”不是Java已知的标准时区标识符。如果它总是“MPST”,则可以将其视为字符串中的文本。(另外:不要使用)您是如何尝试转换导致
ParseException
的日期时间的?请告诉我们密码。