在Java中,如何以秒和纳秒的形式打印出自上述时间以来的时间,格式如下:
java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
我的意见是:
long mnSeconds;
long mnNanoseconds;
其中两者的总和是自1970-01-01 00:00:00.0纪元以来经过的时间.
解决方法:
你可以这样做
public static String format(long mnSeconds, long mnNanoseconds) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.");
return sdf.format(new Date(mnSeconds*1000))
+ String.format("%09d", mnNanoseconds);
}
例如
2012-08-08 19:52:21.123456789
如果你真的不需要超过毫秒,你可以做
public static String format(long mnSeconds, long mnNanoseconds) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
return sdf.format(new Date(mnSeconds*1000 + mnNanoseconds/1000000));
}