从表格2012-07-26 23:59:59中的字符串中获取Date对象

时间:2012-09-07 05:19:17

标签: java date simpledateformat

我的输入字符串为2012-07-27,我希望输出为 Date ,但格式与2012-07-27

相同

代码

 DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

        try {
            Date today = df.parse("20-12-2005 23:59:59");
            System.out.println("Today = " + df.format(today));

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

输出

20-12-2005 23:59:59

但它是字符串对象我想要相同的输出(20-12-2005 23:59:59)作为日期对象而不是字符串对象。

如何以Date的形式获得 DD-MM-YYYY HH:MM:SS

3 个答案:

答案 0 :(得分:2)

Date today 是输入date的{​​{1}}对象。 Java中没有像格式化日期那样的东西。日期始终只是日期对象。您在该日期对象上执行各种操作,当您想要存储(或)显示时,只需应用String

format()

答案 1 :(得分:0)

传递给SimpleDateFormat的格式与传递日期字符串的方式不同。您还应该使用HH

            DateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
    try {
        Date today = df.parse("20-12-2005 23:59:59");
        System.out.println("Today = " + df.format(today));
                       //To Print Real Today 
                    System.out.println("Real Today = " + df.format(new Date()));

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

答案 2 :(得分:0)

Date类有许多不推荐使用的方法,现在唯一正确的创建方法是通过一个很长的(详细阅读文档)。

您应该查看GregorialCalendar,您可以在其中传递一些常量字段作为属性。

如果你想从你的String中输入日期,我会做一个自定义解析器来创建一个日历或类似this的东西。

希望我帮助过:)