java.lang.IllegalArgumentException:无法将给定的Object格式化为Date [英] java.lang.IllegalArgumentException: Cannot format given Object as a Date

查看:1301
本文介绍了java.lang.IllegalArgumentException:无法将给定的Object格式化为Date的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我以这种格式记录日期

2014-12-09 02:18:38

我需要将其转换为

09-12-2014 02:18:38

我尝试过这种方式转换

import java.text.ParseException;
import java.text.SimpleDateFormat;
public class TestDate {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-mm-YYYY HH:mm:ss");
        String input = "2014-12-09 02:18:38";
        String strDate = sdf.format(input);
        System.out.println(strDate);
    }
}

但我在运行时收到此异常

But i am getting this exception during Runtime

Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date
    at java.text.DateFormat.format(DateFormat.java:301)
    at java.text.Format.format(Format.java:157)
    at TestDate.main(TestDate.java:15)

有人可以帮我解决这个问题。

Could anybody please help me how to resolve this .

推荐答案

试试这个

public static void main(String[] args) throws ParseException {
    SimpleDateFormat sdfIn = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    SimpleDateFormat sdfOut = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
    String input = "2014-12-09 02:18:38";
    Date date = sdfIn.parse(input);

    System.out.println(sdfOut.format(date));
}

另外,请注意 m 是分钟,而 M 是几个月。

Also, note that m is for minutes, while M is for months.

这篇关于java.lang.IllegalArgumentException:无法将给定的Object格式化为Date的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆