Java 为什么我会得到不可解析的日期异常?

Java 为什么我会得到不可解析的日期异常?,java,string,simpledateformat,Java,String,Simpledateformat,正如我在java文档中看到的,这个日期格式将避免解释,可能我没有正确理解它 那么我做错了什么 试试看 String DATE_FORMAT = "`"; Object value = null; String date = "2014-02-02"; try { value = new SimpleDateFormat(DATE_FORMAT).parse(date); System.out.println(value);

正如我在java文档中看到的,这个日期格式将避免解释,可能我没有正确理解它

那么我做错了什么

试试看

    String DATE_FORMAT = "`";
    Object value = null;
    String date = "2014-02-02";

    try {
        value = new SimpleDateFormat(DATE_FORMAT).parse(date);
        System.out.println(value);
    } catch (ParseException e) {
        System.out.println(e.getMessage());
    }

试试看

    String DATE_FORMAT = "`";
    Object value = null;
    String date = "2014-02-02";

    try {
        value = new SimpleDateFormat(DATE_FORMAT).parse(date);
        System.out.println(value);
    } catch (ParseException e) {
        System.out.println(e.getMessage());
    }

试试看

    String DATE_FORMAT = "`";
    Object value = null;
    String date = "2014-02-02";

    try {
        value = new SimpleDateFormat(DATE_FORMAT).parse(date);
        System.out.println(value);
    } catch (ParseException e) {
        System.out.println(e.getMessage());
    }

试试看

    String DATE_FORMAT = "`";
    Object value = null;
    String date = "2014-02-02";

    try {
        value = new SimpleDateFormat(DATE_FORMAT).parse(date);
        System.out.println(value);
    } catch (ParseException e) {
        System.out.println(e.getMessage());
    }

我猜你指的是:

日期和时间格式由日期和时间模式字符串指定。 在日期和时间模式字符串中,从“A”到“Z”的未加引号的字母 从“a”到“z”被解释为表示 日期或时间字符串的组成部分。文本可以使用 单引号('),以避免解释。“''”表示单个 引用所有其他字符不被解释;它们只是复制品 在格式化期间输入到输出字符串中,或与输入匹配 解析过程中的字符串

这意味着您可以避免对模式文本的解释,在要避免的部分中添加单个引号

例如,如果我用文本获取字符串日期,我不想被解释为日期的一部分,我可以这样做:

String DATE_FORMAT = "yyyy-MM-dd";
Date value  = null;
String date = "2014-02-02";

try {
    value = new SimpleDateFormat(DATE_FORMAT).parse(date);
    System.out.println(value);
} catch (ParseException e) {
    System.out.println(e.getMessage());
}
这不会给任何例外。另一方面,这将:

SimpleDateFormat df = new SimpleDateFormat("'mydate' yyyy-MM-dd HH:mm:ss");
try {
    df.parse("mydate 2014-04-01 12:30:00");
} catch (ParseException e) {
    e.printStackTrace();
}
简言之,我认为你遗漏了对规格的解释


更多信息:

我想你指的是:

日期和时间格式由日期和时间模式字符串指定。 在日期和时间模式字符串中,从“A”到“Z”的未加引号的字母 从“a”到“z”被解释为表示 日期或时间字符串的组成部分。文本可以使用 单引号('),以避免解释。“''”表示单个 引用所有其他字符不被解释;它们只是复制品 在格式化期间输入到输出字符串中,或与输入匹配 解析过程中的字符串

这意味着您可以避免对模式文本的解释,在要避免的部分中添加单个引号

例如,如果我用文本获取字符串日期,我不想被解释为日期的一部分,我可以这样做:

String DATE_FORMAT = "yyyy-MM-dd";
Date value  = null;
String date = "2014-02-02";

try {
    value = new SimpleDateFormat(DATE_FORMAT).parse(date);
    System.out.println(value);
} catch (ParseException e) {
    System.out.println(e.getMessage());
}
这不会给任何例外。另一方面,这将:

SimpleDateFormat df = new SimpleDateFormat("'mydate' yyyy-MM-dd HH:mm:ss");
try {
    df.parse("mydate 2014-04-01 12:30:00");
} catch (ParseException e) {
    e.printStackTrace();
}
简言之,我认为你遗漏了对规格的解释


更多信息:

我想你指的是:

日期和时间格式由日期和时间模式字符串指定。 在日期和时间模式字符串中,从“A”到“Z”的未加引号的字母 从“a”到“z”被解释为表示 日期或时间字符串的组成部分。文本可以使用 单引号('),以避免解释。“''”表示单个 引用所有其他字符不被解释;它们只是复制品 在格式化期间输入到输出字符串中,或与输入匹配 解析过程中的字符串

这意味着您可以避免对模式文本的解释,在要避免的部分中添加单个引号

例如,如果我用文本获取字符串日期,我不想被解释为日期的一部分,我可以这样做:

String DATE_FORMAT = "yyyy-MM-dd";
Date value  = null;
String date = "2014-02-02";

try {
    value = new SimpleDateFormat(DATE_FORMAT).parse(date);
    System.out.println(value);
} catch (ParseException e) {
    System.out.println(e.getMessage());
}
这不会给任何例外。另一方面,这将:

SimpleDateFormat df = new SimpleDateFormat("'mydate' yyyy-MM-dd HH:mm:ss");
try {
    df.parse("mydate 2014-04-01 12:30:00");
} catch (ParseException e) {
    e.printStackTrace();
}
简言之,我认为你遗漏了对规格的解释


更多信息:

我想你指的是:

日期和时间格式由日期和时间模式字符串指定。 在日期和时间模式字符串中,从“A”到“Z”的未加引号的字母 从“a”到“z”被解释为表示 日期或时间字符串的组成部分。文本可以使用 单引号('),以避免解释。“''”表示单个 引用所有其他字符不被解释;它们只是复制品 在格式化期间输入到输出字符串中,或与输入匹配 解析过程中的字符串

这意味着您可以避免对模式文本的解释,在要避免的部分中添加单个引号

例如,如果我用文本获取字符串日期,我不想被解释为日期的一部分,我可以这样做:

String DATE_FORMAT = "yyyy-MM-dd";
Date value  = null;
String date = "2014-02-02";

try {
    value = new SimpleDateFormat(DATE_FORMAT).parse(date);
    System.out.println(value);
} catch (ParseException e) {
    System.out.println(e.getMessage());
}
这不会给任何例外。另一方面,这将:

SimpleDateFormat df = new SimpleDateFormat("'mydate' yyyy-MM-dd HH:mm:ss");
try {
    df.parse("mydate 2014-04-01 12:30:00");
} catch (ParseException e) {
    e.printStackTrace();
}
简言之,我认为你遗漏了对规格的解释


更多信息:

这句话在文档中的什么地方说的?是的,我想我没有明白,这是什么意思:文本可以用单引号(')引用以避免解释。这句话在文档中的什么地方说的?是的,我想我没有明白,这是什么意思:文本可以用单引号(')引用为了避免解释。在文档中是在哪里说的?是的,我想我没有明白,这是什么意思:文本可以用单引号(')引用以避免解释。在文档中是在哪里说的?是的,我想我没有明白,这是什么意思:文本可以用单引号(')引用为了避免解释。是的,我知道我的错误在哪里,谢谢你的详细解释!是的,我知道我的错误在哪里,谢谢你的详细解释!是的,我知道我的错误在哪里,谢谢你的详细解释!是的,我知道我的错误在哪里,谢谢你的详细解释!