我正在构建一个基本的日志记录实用程序类,并希望将日期和时间记录到创建日志条目的毫秒。我目前正在使用:
Date d = new Date();
String dateToOutput = DateFormat.format( "MM-dd hh:mm:ss", d )
给了我'05 -23 09:05:47'。我希望它能给我创建日志条目的毫秒数,并且看起来DateFormat类不支持毫秒检索。
与格式"MM-dd hh:mm:ss:zzz"
一样'05-23 09:05:47.447'
。
是否可以使用DateFormat类(或类似DateFormat的类)执行此操作?我认识到可以创建另一个日期,删除此日期的毫秒部分,然后减去两个并打印差异,但这只是愚蠢的。 (:
答案 0 :(得分:1)
试试这个
Date d = new Date();
SimpleDateFormat sdf=new SimpleDateFormat("MM-dd hh:mm:ss SSS");
String dateToOutput = sdf.format(d);
答案 1 :(得分:0)
虽然我觉得愚蠢的是DateFormat类不允许简单的格式化毫秒输出,但我意识到从时间戳获取毫秒实际上非常容易。每个日期对象都表示自1970年1月1日00:00以来的时间戳(以毫秒为单位),因此模数1000的时间戳给出了毫秒数。
我做了
Date d = new Date();
String dateToOutput = DateFormat.format( "MM-dd hh:mm:ss", d );
dateToOutput += "." + d.getTime() % 1000;
虽然不理想,但效果很好并且给了我'05-23 09:05:47.447'
。