我怎样才能转换Dropbox日志时间戳?

时间:2013-03-05 08:47:00

标签: android logging frameworks timestamp dropbox

我正在调试一个android框架。 我从设备中提取Dropbox日志,并在/ data / system / dropbox中创建。 日志文件名称以此格式打印。

EVENT_DATA @ 1362451303699

1362451303699是时间戳,我想改变它像05/03/2013 16:00的易读性。

如何转换此时间戳? 是否需要更改任何代码?

非常感谢任何帮助。

3 个答案:

答案 0 :(得分: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!
}

相关文档:

答案 1 :(得分: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,您可以以更易读的格式显示日期。

答案 2 :(得分: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);