0

JSONを使用してサーバーから返されたタイムスタンプ文字列を解析するのに少し問題があります。次のコードを使用して、HashMapからタイムスタンプを抽出し、ログに表示しています。

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Long time = Long.parseLong(event.get("time"));
final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(time);
String event_date = sdf.format(cal.getTime());
Log.v("Date", event_date);

しかし、このメソッドに渡すタイムスタンプごとに、1970年1月16日の日付が返されます。解析しようとしているタイムスタンプの例は、13367736002012年5月11日に対応するはずです。ここで何が間違っているのかわかりません。しかし、明らかに私はそうです。助言がありますか?

4

2 に答える 2

8

Unixタイムスタンプは、エポックからの秒数です。Javaは、エポックからミリ秒を使用します。

これを調整するには、UNIXタイムスタンプに1000を掛けます。

于 2012-05-09T15:19:36.877 に答える
2

試す:

cal.setTimeInMillis(time * 1000);

秒をミリ秒に変換します。

于 2012-05-09T15:21:35.737 に答える