0

代码如下所述:

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

我无法弄清楚它的原因。

4

3 回答 3

5

使用将实例格式化java.util.Date为字符串SimpleDateFormat.format(java.util.Date)

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();
}
于 2013-01-28T13:25:36.627 回答
4

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

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

于 2013-01-28T13:26:44.463 回答
2
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);

}

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

于 2013-01-28T13:35:58.107 回答