前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

UnixのTimeStampとJavaのDate.getTime()の値は別物

UnixUTCでの1970年1月1日真夜中(0時0分0秒)からの経過秒数、
Javaは1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数を返す。
ちなみにUTCGMTは微妙に異なるものらしく、詳しくはここに書いてある。http://java.sun.com/javase/ja/6/docs/ja/api/

従って、両方をlong値で扱った場合に3桁ずれるので注意が必要。
Facebookのtimestampはunixの物だったと思うので、変換無しにJavaで扱うと
おかしな日付になる。

とりあえず対策用コード

/** Unix TimestampをJavaのTimeに*/
public static long getUT2JT(long timestamp){
      return timestamp * 1000;
}
public static long getJT2UT(long time){
      return time / 1000;
}