Java中的日期格式问题

3

我从Joynet云API服务器获取日期格式:

2012-11-20T10:26:04+00:00"

然而,我不知道如何处理最后一段+00:00,除了+00:00以外的格式我已经完成了。

SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date = fmt.parse("2012-11-20T10:26:04");

感谢 @Abu

我重写了它以去掉“:”

SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
String input = "2012-11-20T10:25:58+00:00";

String s1 = input.split("T")[0];
String s2 = input.split("T")[1];
String sep = null;
if (s2.contains("+")) {
    sep = "+";
}
if (s2.contains("-")) {
    sep = "-";
}
String s3 = s2.split("\\" + sep)[0];
String s4 = s2.split("\\" + sep)[1].replace(":", "");
String cleanDate = s1 + "T" + s3 + sep + s4;
Date date = fmt.parse(cleanDate);
System.out.println(date);

JavaDoc? - Kai
1个回答

6
如果您不使用Java 7,请将时区部分中的冒号:删除,并使用以下代码:SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");。请参阅Java 6中SimpleDateFormat的javadoc
如果您是使用Java 7,则可以直接使用以下代码:SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX");。请参阅Java 7中SimpleDateFormat的javadoc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接