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 –