首先,感謝,長老開發者,我是超級新手...和抱歉,我英語說得不好....所以..明白我一句..如何知道字符串的格式是否與輸入值的格式相同?在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