Java SimpleDateFormat和2013-01-17T00:00:00-06:00

Java SimpleDateFormat和2013-01-17T00:00:00-06:00,java,Java,在SimpleDataFormat中,解析如下所示的传入日期的正确格式是什么:“2013-01-17T00:00:00-06:00”?您必须修剪最后一个冒号,以与java的区域信息格式“-0600”对齐 试试这个: String str = "2013-01-17T00:00:00-06:00"; new SimpleDataFormat("yyyy-MM-dd'T'hh:mm:ssZ").parse(str.replaceAll(":(..)$", "$1")); 该格式应适用于: "yyy

在SimpleDataFormat中,解析如下所示的传入日期的正确格式是什么:“2013-01-17T00:00:00-06:00”?

您必须修剪最后一个冒号,以与java的区域信息格式
“-0600”
对齐

试试这个:

String str = "2013-01-17T00:00:00-06:00";
new SimpleDataFormat("yyyy-MM-dd'T'hh:mm:ssZ").parse(str.replaceAll(":(..)$", "$1"));

该格式应适用于:

"yyyy-MM-dd'T'HH:mm:ssXXX"

格式类似于
yyyy-MM-dd'T'HH:MM:ssX

yyy-MM-dd'T'HH:MM:ssz


请参阅此链接:

SimpleDataFormat sdf=新的SimpleDataFormat(“yyyy-MM-dd'T'HH:MM:ssZ”); System.out.println(sdf.format(新的gregorianalendar().getTime())


这还不够吗

我知道如何在中间得到T’,问题是我不知道如何在-06:00结束,也可能是其他类似的-07:00,你可以使用<代码> x>代码>而不是<代码> z < /> >,解析日期。代码>X表示
ISO 8601
时间Zone@RohitJain你每天都能学到一些东西。。。有趣的是,这不在javadoc(我检查到版本7)中,检查我在评论中发布的链接。它列在SimpleDataFormat文档中。@RohitJain(该死的.Chrome覆盖了我对v7的更改并加载了v6 javadocs),即使如此,这对java 7来说还是新的。@Bohemian。。是的,应该提到这一点。:)