1

我有输入字符串 as2012-07-27我希望输出 asDate但格式相同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

4

3 回答 3

2

Date todaydate您输入的对象String。Java 中没有像格式化日期这样的东西。日期始终只是日期对象。您对该日期对象执行各种操作,并且当您想要存储(或)显示时,只需应用format()

df.format(today) // is just for formatting and display purpose. 
于 2012-09-07T05:21:46.810 回答
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();
    }
于 2012-09-07T05:32:40.720 回答
0

Date类有许多不推荐使用的方法,现在创建它的唯一正确方法是通过 long(有关详细信息,请阅读文档)。

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

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

希望我有所帮助:)

于 2012-09-07T05:44:07.950 回答