来自java的日期格式问题

qrt*_*tt1 3 java datetime date

我从joynet cloud api服务器获取日期格式:

2012-11-20T10:26:04+00:00"
Run Code Online (Sandbox Code Playgroud)

但是,我不知道处理最后一段+00:00,我已经制作了除+00:00之外的格式

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

谢谢@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);
Run Code Online (Sandbox Code Playgroud)

Abu*_*kar 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