java - joda 日期 DateTimeFormatterBuilder 追加不起作用

标签 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 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

一切都失败了。难道我做错了什么?看起来应该没问题。

最佳答案

找到 this

正确的做法。

    DateTimeFormatter formatter = new DateTimeFormatterBuilder()
            .append(null,
                    new DateTimeParser[]{DateTimeFormat.forPattern("yyyy-MM-dd").getParser(),
                            DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").getParser()})
            .toFormatter();

关于java - joda 日期 DateTimeFormatterBuilder 追加不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23801517/

相关文章:

java - Joda 时间无法正确解析月份

java - Java 中的 MongoDB 日期搜索返回零结果

java - java中如何从另一个字符中获取一个字符

java - 如何在 J2ME 中解析 URL

java - 用于 XML 模式/XACML 持续时间类型的 JodaTime

mysql - MYSQL数据库的日期格式

java - 如果 Date 已被大多数弃用,而我们要使用 Calendar,那么 DateFormat 类的等效项是什么?

java - Java 如何将 3 字节的 Unicode 字符放入 char 类型?

java - 企业java应用程序架构。动态域模型

java - DateTimeFormatter 是否有类似 Joda 的 DateTimeFormatter#withOffsetParsed() 方法的东西?