FastDateFormat.getInstance("HHmmssS").format(Calendar.getInstance());返回格式为“ HHmmssSSS”的字符串,例如152712599相反预期为1527125。

程序包和版本为“程序包org.apache.commons.lang3.time; @version $ Id:FastDateFormat.java 1591488 2014-04-30 21:49:35Z”。

下面的解决方案中将提供一种解决方法。

最佳答案

实际上,您想要的是十亿分之一秒,而不是毫秒,但是您是对的,尚无此功能(还可以吗?)。

请注意,使用单个“ S”对其进行格式化可能只会给您实际的毫秒,因此您需要使用格式字符串"HHmmssSSS"。然后,子字符串本身的长度应为"HHmmssS".length()

因此,您的实际解决方法/解决方案应该是:

public static <Format> String HHMMssS(final Format calendar) {
  final String HHmmssS = "HHmmssSSS";
  return FastDateFormat.getInstance(HHmmssS).format(calendar).substring(0, "HHmmssS".length());
}


一个相关的问题(关于解析):
Deci and Centi Seconds parsing in java

09-05 18:00