Java joda date DateTimeFormatterBuilder追加不起作用
先编码Java joda date DateTimeFormatterBuilder追加不起作用,java,jodatime,date-format,Java,Jodatime,Date Format,先编码 @Test public void testDateFormat() { // this is ok DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").parseDateTime("2014-5-15 20:00:00"); DateTimeFormat.forPattern("yyyy-MM-dd").parseDateTime("2014-5-15"); DateTimeFormatter format
@Test
public void testDateFormat()
{
// this is ok
DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").parseDateTime("2014-5-15 20:00:00");
DateTimeFormat.forPattern("yyyy-MM-dd").parseDateTime("2014-5-15");
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd HH:mm:ss")
.appendPattern("yyyy-MM-dd")
// ues these way is also failed.
//.append(DateTimeFormat.forPattern("xxxx"))
//.append(DateTimeFormat.forPattern("xxxx").getParser())
.toFormatter();
try
{
formatter.parseLocalDateTime("2014-5-15 20:00:00");
}catch (Exception ignored){System.out.println("Failed A");}
try
{
formatter.parseLocalDateTime("2014-05-15 20:00:00");
}catch (Exception ignored){System.out.println("Failed B");}
try
{
formatter.parseLocalDateTime("2014-5-15");
}catch (Exception ignored){System.out.println("Failed C");}
try
{
formatter.parseLocalDateTime("2014-05-15");
}catch (Exception ignored){System.out.println("Failed D");}
}
输出
Failed A:Invalid format: "2014-5-15 20:00:00" is too short
Failed B:Invalid format: "2014-05-15 20:00:00" is too short
Failed C:Invalid format: "2014-5-15" is too short
Failed D:Invalid format: "2014-05-15" is too short
一切都失败了。我做错什么了吗?看起来应该没问题。找到了
这是正确的方法
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.append(null,
new DateTimeParser[]{DateTimeFormat.forPattern("yyyy-MM-dd").getParser(),
DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").getParser()})
.toFormatter();
2014-5-15 20:00:00
如何与yyyy-MM-dd HH:MM:ssyyyy-MM-dd
或您提供的任何其他示例相匹配?append是否为concat?不是格式化程序数组?不,append是concat。它不是“我有一堆格式化程序,在通过之前都要尝试”…你需要自己编写;)谢谢,我试着自己写这封信