3

ジョイネット クラウド 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);
4

1 に答える 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 を参照してください。

于 2012-11-20T13:20:54.573 に答える