Java 如何转换2014-05-05T09:14:52.150Z字符串以获取当前系统时间

Java 如何转换2014-05-05T09:14:52.150Z字符串以获取当前系统时间,java,Java,我从服务器收到一个字符串2014-05-05T09:14:52.150Z。 我必须将其转换为当前系统时间 我该怎么做?有什么建议吗。 日期字符串中的'T'和'Z'表示什么。如果您只需要去掉'T'和'Z'字符,可以使用 String serverString = "2014-05-05T09:14:52.150Z"; serverString = serverString.replaceAll("T", ""); serverString = serverString.replaceAll("Z"

我从服务器收到一个字符串2014-05-05T09:14:52.150Z。 我必须将其转换为当前系统时间 我该怎么做?有什么建议吗。
日期字符串中的'T'和'Z'表示什么。

如果您只需要去掉'T'和'Z'字符,可以使用

String serverString = "2014-05-05T09:14:52.150Z";
serverString = serverString.replaceAll("T", "");
serverString = serverString.replaceAll("Z", "");

检查字符串Java API。

这是XML模式日期时间格式,您可以像这样解析它

Date date = DatatypeFactory.newInstance().newXMLGregorianCalendar(str)
.toGregorianCalendar().getTime();

“T”只是一个分隔符,“Z”表示UTC时区。看看SimpleDataFormat。这是标准的日期时间格式。我会使用Java 8
ZonedDateTime.parse(“2014-05-05T09:14:52.150Z”)
可能与我在问题中收集的内容重复,他需要从服务器外部操作字符串。你说的“未更改”部分是对的,我的错。仍然不清楚删除这些字母有什么帮助。如果删除T,你将如何区分日期和时间?如果删除Z,您将如何正确处理时区?您将如何使用stringapi将其转换为日期(或日历,或任何其他类似日期类的实例)?