繁体   English   中英

Java SimpleDateFormat:无法解析的日期异常

[英]Java SimpleDateFormat: Unparseable Date exception

代码如下:

public static void main(String[] args){
    Date date = new Date();
    DateFormat dateFormat= new SimpleDateFormat("dd-MMM-yyy");

    try{
        Date formattedDate = dateFormat.parse(date.toString());
        System.out.println(formattedDate.toString());
    }catch(ParseException parseEx){
        parseEx.printStackTrace();
    }
}

在上面的代码中, dateFormat.parse(date.toString())抛出了Unparseable date: "Mon Jan 28 18:53:24 IST 2013解析的日期异常: Unparseable date: "Mon Jan 28 18:53:24 IST 2013

我无法弄清楚原因。

使用SimpleDateFormat.format(java.util.Date)java.util.Date实例格式化为 String

Date date = new Date();
DateFormat dateFormat= new SimpleDateFormat("dd-MMM-yyy");

try {
    Date formattedDate = dateFormat.parse(dateFormat.format(date));
    System.out.println(formattedDate.toString());

} catch (ParseException parseEx) {
   parseEx.printStackTrace();
}

为什么要将日期转换为字符串并将其解析回日期?

您的代码失败的原因是您尝试使用仅接受 dd-MMM-yyy 格式的日期的格式化程序转换完整日期。

public static void main(String[] args) throws ParseException {

    Date date = new Date();
    DateFormat dateFormat = new SimpleDateFormat(
            "EEE MMM d HH:mm:ss Z yyyy");

    Date formattedDate = dateFormat.parse(date.toString());
    System.out.println(formattedDate);

}

这正是你想要做的......是吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM