-6

-588657600000-0400私はこのように私の応答を得ています。これは無効な long であるため、これを Date 形式に変換できません。

new Date(Long.parseLong("/Date(-588657600000-0400)/")); 

とにかく、そのような形式で応答文字列を取得すると、実際に新しい日付オブジェクトを構築できます。この質問は、以前に尋ねられたこの質問に関連しています。java.lang.Long.parseLong 例外

ここでスローされる例外は"04-09 01:39:25.793: E/AndroidRuntime(8011): java.lang.NumberFormatException: Invalid long: "588657600000-0400" です。

Calendar クラスを調べようとしましたが、http://docs.oracle.com/javase/6/docs/api/java/util/Calendar.htmlですが、Long を渡さずに Date オブジェクトを取得するメソッドが見つかりませんでした。

4

1 に答える 1

3

入力文字列を2つの値に分割するのはどうですか?

Date foo2 = new Date(Long.parseLong("-588657600000") + Long.parseLong("-0400"));

ところで、その日付は :Mon May 07 16:59:59 BRT 1951へへへ

編集 :

これは入力値をチェックせず、常にマイナスがあると仮定します

import java.util.Date;

public class MiMiMi {

    public static void main(String[] args) {

        String input = "/Date(-588657600000-0400)/";
        input = input.replace("/Date(", "");
        input = input.replace(")/", "");

        String[] pair = input.split("-");
        System.out.println(pair[1]);
        System.out.println(pair[2]);

        Date foo = new Date(Long.parseLong("-" + pair[1])
                + Long.parseLong("-" + pair[2]));

        System.out.println(foo);
    }

}
于 2013-04-09T01:57:17.207 に答える