【问题标题】:Java Date Formatting ParseExceptionJava 日期格式化 ParseException
【发布时间】:2014-08-10 03:41:04
【问题描述】:

我有一个字符串为Friday, August 01, 2014。我想格式化并显示为2014-08-01

我已经试过了。但这给了java.text.ParseException: Unparseable date: "Friday, August 01, 2014"

SimpleDateFormat sdf = new SimpleDateFormat("E, MM d, yyyy");
String dateInString = "Friday, August 01, 2014";
Date date = sdf.parse(dateInString);
System.out.println(date);

我该怎么做?

【问题讨论】:

    标签: java date-format simpledateformat


    【解决方案1】:

    您需要阅读SimpleDateFormat API,因为那里已经很好地解释了。

    请注意 API 中的解释:

    • 文本:对于格式,如果模式字母的数量为4个或更多,则使用完整的形式;否则,如果可用,则使用简短或缩写形式。对于解析,两种形式都可以接受,与模式字母的数量无关。
    • 数字:对于格式化,模式字母的数量是最小位数,较短的数字在此数量上补零。解析时,模式字母的数量会被忽略,除非需要分隔两个相邻的字段。

    例如,MM 对应一个数字月份,而不是月份名称。对于完整的月份名称,我将使用MMMM,对于完整的星期名称,我将使用EEEE。我会使用dd 表示两位数的日期,例如 01。

    例如,

    SimpleDateFormat sdf = new SimpleDateFormat("EEEE, MMMM dd, yyyy");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多