String s = 19.17.38.008000;
DateFormat f = new SimpleDateFormat("HH.mm.ss.SSSSSS");
Date d = f.parse(s);
system.out.println(d);
这是我正在运行的代码,它运行良好,除了打印时会打印时间
19:17:46。请有人向我解释一下
作为旁注:
String s = 19.17.38.008000;
DateFormat f = new SimpleDateFormat("HH.mm.ss");
Date d = f.parse(s);
system.out.println(d);
此代码将正确打印相同的字符串减去毫秒。有人请告诉我我在这里缺少什么。
EDIT:感谢您的回答,我认为这里的问题是我将 38.008000 读为 0.008 秒,但 sdf 将 SSS 读为 8000 毫秒,这不是同一件事。
The SimpleDateFormat
课堂正在口译008000
为 8000 毫秒,即 8 秒,并将其添加到已解释的 38 秒中。
如果我们有这个:
String s = "19.17.38.009000";
然后我们会得到这个输出,加上 9 秒:
Thu Jan 01 19:17:47 PST 1970
从字符串末尾删除 3 个额外的零。如果有 6 位数字,那么它们看起来应该代表微秒(百万分之一秒),而不是毫秒(千分之一秒)。
String s = "19.17.38.008";
Output:
Thu Jan 01 19:17:38 PST 1970
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)