2

Android フレームワークをデバッグしています。デバイスからドロップボックス ログを取得すると、/data/system/dropbox に作成されます。ログファイル名はこの形式で出力されます。

event_data@1362451303699

1362451303699 はタイムスタンプで、読みやすくするために 2013 年 5 月 3 日 16:00 のように変更したいと考えています。

このタイムスタンプを変換するにはどうすればよいですか? 変更が必要なコードはありますか?

どんな助けでも大歓迎です。

4

3 に答える 3

2

使用する:Date date = new Date(timestamp);

完全なコードを編集:

String wantedDate = "";
String log = "event_data@1362451303699";
int index = log.indexOf("@");
if(index != -1) {
  index = index + 1; // skip @ symbol
  if(index < log.length()) { // avoid out of bounds
    String logtime = log.substring(+1);
    try {
      long timestamp = Long.parseLong(logtime);
      SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm");
      Date date = new Date(timestamp);
      wantedDate = df.format(date);
    } catch (NumberFormatException nfe) {
      // not a number 
    }
  }
}
if( ! "".equals(wantedDate) ) {
       // everything OK
} else {
       // error cannot retrieve date!
}

関連ドキュメント:

于 2013-03-05T08:50:19.123 に答える
0

これは UNIX エポック タイムスタンプですString。数値の表現を に変換するだけでlong、それを使用して でDateフォーマットできるオブジェクトを作成できますDateFormat。このようなもの:

// Get this from the log
String timestamp = "1362451303699";
long epoch = Long.parseLong(timestamp);
Date date = new Date(epoch);

DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm");
String formattedDate = format.format(date);
于 2013-03-05T08:56:22.460 に答える
0

SimepleDateFormat を使用して解析できます。例えば:

long ts = 1362451303699;
Date date = new Date(ts);    
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
System.out.println(sdf.format(date));

を使用するSimpleDateFormatと、日付をより読みやすい形式にすることができます。

于 2013-03-05T08:52:05.237 に答える