1

我正在构建一个基本的日志记录实用程序类,并希望将日期和时间记录到创建日志条目的毫秒数。我目前正在使用:

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 之类的类)来做到这一点?我认识到可以创建另一个日期,删除该日期的毫秒部分,然后减去两者并打印差异,但这很愚蠢。(:

4

2 回答 2

1

尝试这个

Date d = new Date();
SimpleDateFormat sdf=new SimpleDateFormat("MM-dd hh:mm:ss SSS");
String dateToOutput = sdf.format(d);
于 2013-05-23T16:26:59.057 回答
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'.

于 2013-05-23T16:31:56.263 回答