Java中迄今为止的Cnvert字符串

Java中迄今为止的Cnvert字符串,java,Java,我有以下Java字符串: 2011-12-21T20:27:32-08:00 有人能告诉我如何通过将字符串转换为日期来存储它吗 我需要将其存储在声明为TimeStamp的MySQL列中 我尝试了以下方法,但无效: Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssz").parse("2011-12-21T20:27:32-08:00"); 它给出了以下错误: Exception in thread "main" java.text

我有以下Java字符串:

2011-12-21T20:27:32-08:00
有人能告诉我如何通过将字符串转换为日期来存储它吗

我需要将其存储在声明为TimeStamp的MySQL列中

我尝试了以下方法,但无效:

Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssz").parse("2011-12-21T20:27:32-08:00");
它给出了以下错误:

Exception in thread "main" java.text.ParseException: Unparseable date: "2011-12-21T20:27:32-08:00" –
非常感谢您的帮助。

根据,
z
希望时区指示器的格式与字符串中的格式不同,但您可以使用支持它们的
X
。因此(更改位于格式字符串的末尾):

发件人:

信函日期或时间组件演示示例 ------ ----------------------- ------------------- ------------------------------------- z时区一般时区太平洋标准时间;PST;GMT-08:00 Z时区RFC 822时区-0800 X时区ISO 8601时区-08-0800; -08:00
在评论中指出,
X
似乎是新的。根据您的环境,您可能需要对字符串进行一点预处理以删除冒号,并使用
Z
(大写,而不是
Z
;上面列表中的第二个),而这取决于您的环境。

根据,
Z
希望时区指示器的格式与字符串中的格式不同,但您可以使用
X
,这支持了他们。因此(更改位于格式字符串的末尾):

发件人:

信函日期或时间组件演示示例 ------ ----------------------- ------------------- ------------------------------------- z时区一般时区太平洋标准时间;PST;GMT-08:00 Z时区RFC 822时区-0800 X时区ISO 8601时区-08-0800; -08:00

在评论中指出,
X
似乎是新的。根据您的环境,您可能需要对字符串进行一点预处理以删除冒号,并使用
Z
(大写,而不是
Z
;上面列表中的第二个)。您应该看看这个问题:。第一个答案可能会有帮助。

您应该看看这个问题:。第一个答案可能会有帮助。

什么是“不起作用”意思?给出错误:线程“main”java.text.ParseException:不可解析日期:“2011-12-21T20:27:32-08:00”@FreephonePanwal我会更新你的问题,将其包括在内,即使它已经得到了回答,它也可以帮助其他人。什么是“不起作用”意思?给出错误:线程“main”java.text.ParseException:不可解析的日期:“2011-12-21T20:27:32-08:00”@FreephonePanwal我会更新你的问题,包括这一点,即使它已经得到了回答,也可以帮助其他人。请注意
X
是新的。我不清楚。X似乎在为我工作。如果我使用X将代码部署到生产环境中会有什么影响?@FreephonePanwal您的JDK版本是什么?您的JDK在生产环境中的版本是什么?键入
java-version
以查找。如果它们都是1.7,那就没问题了。它们都是1.7&我应该在部署前使用与生产版本相同的版本(即1.7)进行编译,对吗?@FreephonePanwal:yes,只要您使用的是JDK1.7+,并且它将运行的JRE是1.7+,
X
应该可以工作。请注意
X
是新的。我不清楚。X似乎在为我工作。如果我使用X将代码部署到生产环境中会有什么影响?@FreephonePanwal您的JDK版本是什么?您的JDK在生产环境中的版本是什么?键入
java-version
以查找。如果它们都是1.7,那应该没问题。它们是1.7&我应该在部署前使用与生产相同的版本(即1.7)进行编译,对吗?@FreephonePanwal:yes,只要您使用的是jdk1.7+,并且它运行的JRE是1.7+,
X
应该可以工作。
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX").parse("2011-12-21T20:27:32-08:00");
Letter Date or Time Component Presentation Examples ------ ----------------------- ------------------- ------------------------------------- z Time zone General time zone Pacific Standard Time; PST; GMT-08:00 Z Time zone RFC 822 time zone -0800 X Time zone ISO 8601 time zone -08; -0800; -08:00