首先,感谢,长老开发者,我是超级新手...和抱歉,我英语说得不好....所以..明白我一句..如何知道字符串的格式是否与输入值的格式相同?在Java中
我想了解比较格式和DateStringFormat的方式。
例子:
boolean CompareFormat(String inputValue, DateTimeFormatter format) {
String gettedFormat = ~~~.getFormat(inputValue);
if (format.toString().equals(gettedFormat)) return true;
else return false;
}
这只是,我想......
- 得到格式化的输入字符串值。
- 变化格式化值格式化 (我认为,改变价值变动重新格式化它不会改变 /inputValue将:19900202T0001 - >更改格式(yyyyMMddThhmm) - >结果:19900202T0001)
- inputValue的是否相同将值更改为格式然后返回true;否则 错误;
,但我不能,我想结果。
我试图
System.out.println("format : " + format);
System.out.println("value : "+value);
LocalDate changedDateString = LocalDate.parse(value, formatter);
System.out.println("changed Value : " + changedDateString);
System.out.println("changed Value : " + formatter.format(changedDateString));
输出:
format : yyyyMMdd'T'hhmm
value : 20170616T0023
changed Value : 2017-06-16
18:19:14.053 ERROR ServiceTask - Exception caught.
有您的格式字符串'yyyyMMdd'T'hhmm'和您所选择的类型,'LocalDate'之间的不匹配。 “LocalDate”只是一个日期,它不包括一天中的时间(小时和分钟)。所以要么使用'LocalDateTime',要么忽略格式模式字符串中的'HHmm'。 BTW,这应该有可能通过23 –
是资本'HH'用于小时的间隔0,您将能够认识到可能的格式数量有限,并使用相应的格式化。您无法识别和处理所有可能的格式。典型的例子是11/06/2017:有些意味着11月6日,6月11日。 –
@Ole V.V.啊......谢谢你。我明白你说了什么。我是以其他方式解决的。再次感谢你。 – Jays