Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java FastDateFormat HHMMSS类似于HHMMSS的行为_Java_Time_Apache Commons - Fatal编程技术网

Java FastDateFormat HHMMSS类似于HHMMSS的行为

Java FastDateFormat HHMMSS类似于HHMMSS的行为,java,time,apache-commons,Java,Time,Apache Commons,源代码FastDateFormat.getInstance(“hhmmss”).format(Calendar.getInstance())返回格式为“HHMMSSSS”的字符串,例如152712599,而不是1527125 包和版本是“package org.apache.commons.lang3.time;@version$Id:FastDateFormat.java 1591488 2014-04-30 21:49:35Z” 下面的解决方案将提供一个解决方案。该解决方案将删除“hhmms

源代码
FastDateFormat.getInstance(“hhmmss”).format(Calendar.getInstance())返回格式为“HHMMSSSS”的字符串,例如152712599,而不是1527125

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


下面的解决方案将提供一个解决方案。

该解决方案将删除“hhmmsss”的最后两位数字

public static <Format> String HHMMssS(final Format calendar)
{
    final String HHmmssS = "HHmmssS";
    return FastDateFormat.getInstance(HHmmssS).format(calendar).substring(0, HHmmssS.length());
}
公共静态字符串HHMMSS(最终格式日历)
{
最后一个字符串hhmmss=“hhmmss”;
返回FastDateFormat.getInstance(hhmmss).format(calendar).substring(0,hhmmss.length());
}

实际上,您想要的是分秒,而不是毫秒,但您是对的,目前还不支持分秒

请注意,使用单个“S”格式化可能只会得到实际毫秒,因此需要使用格式字符串
“hhmmssss”
。子字符串本身的长度应为“hhmmss”.length()

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

public static <Format> String HHMMssS(final Format calendar) {
  final String HHmmssS = "HHmmssSSS";
  return FastDateFormat.getInstance(HHmmssS).format(calendar).substring(0, "HHmmssS".length());
}
公共静态字符串HHMMSS(最终格式日历){
最后一个字符串hhmmss=“hhmmssss”;
返回FastDateFormat.getInstance(hhmmss).format(calendar).substring(0,“hhmmss.length());
}
相关问题(关于解析):

好的,
FastDateFormat
不支持,但我的lib支持,例如:
System.out.println(ChronoFormatter.ofTimePattern(“hhmmss”,PatternType.CLDR,Locale.ROOT”);format(PlainTime.nowInSystemTime());
//163354,而且速度更快(特别是如果格式化程序存储为静态常量-线程安全)。