0

ASP.NETから変換したJSON文字列に少し問題があります。

C#が変換したJSON文字列は次のようになります。/Date(1338199919727)\/

ミリ秒程度に変換されると思いますが、この巨大な整数からJava日付を取得するにはどうすればよいですか?

Androidアプリで日付を正しく表示する必要があります(特定の形式の文字列(dd-MM-yyyy:HH)として)。そのため、Javaで日付を表示する必要があります。何らかの形式のコンバーターを手動で作成する必要がありますか?それとも、これを行うための甘くて簡単な方法はありますか?

4

2 に答える 2

1

しかし、どうすればこの巨大な整数からjava-dateを取得できますか?

ああ、その部分は簡単です:

Date dt = new Date(1338199919727L);

あなたはまったく正しいです、それはエポック以来のミリ秒です(1970年1月1日深夜0時)。そして、JavaのDateオブジェクトには、まさにその値を受け入れるコンストラクターがあります。

一般に、ほとんどのJSONパーサーには、渡すことができる「リバイバー」関数またはクラスの概念があります。これにより、JSONが逆シリアル化されるときに値を前処理できます。AndroidのJSONパーサーは、あるかどうかを知るのに十分なほどよくわかりません。そうでない場合(少し逆になります)、結果のオブジェクトグラフを調べて、文字列になったプロパティを探し、それらを事実以降の日付に変換する必要があります。

于 2012-05-28T14:38:45.167 に答える
0

これがあなたが必要なものであることを願っています

    long Ldate = 1338199919727L;
    Date date = new Date(Ldate * 1000);
    String strdate = (String) DateFormat.format("MM/dd/yy h:mmaa", date);
于 2012-05-28T14:53:23.683 に答える