3
我們有一些現有的代碼是這樣的:消除DateTimeFormat和喬達的DateTimeFormatter之間的細微空白處理差異
DateFormat[] dateFormats = {
new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z", Locale.ENGLISH),
new SimpleDateFormat("d MMM yyyy HH:mm:ss Z", Locale.ENGLISH)
};
爲了線程安全起見,我試圖將其轉換爲使用約達時間的格式化,所以:
DateTimeFormatter[] dateFormats = {
DateTimeFormat.forPattern("EEE, d MMM yyyy HH:mm:ss Z")
.withLocale(Locale.ENGLISH)
.withOffsetParsed(),
DateTimeFormat.forPattern("d MMM yyyy HH:mm:ss Z")
.withLocale(Locale.ENGLISH)
.withOffsetParsed()
};
但是,我驚訝地發現現有的測試案例已經破裂。特別是(至少這將導致測試失敗的第一行):
String dateString = "Wed, 1 Feb 2006 21:58:41 +0000";
的DateFormat兩個或更多個空間愉快匹配逗號之後但DateTimeFormatter僅字面上單個空間相匹配。
我大概可以放入一個額外的格式來允許額外的空間,但這樣做有點可怕,那麼是否有一種方法可以自定義DateTimeFormatter以更輕鬆地使用空格?
這是非常誘人的前處理輸入的字符串。 – Trejkaz
我不喜歡這個答案+1 –