0

我有这段代码可以将字符串转换为日期。但生成的日期始终采用另一种格式。

SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm");
        try {
            String dateString  = "18/01/2013 11:59";
            dateTest = format.parse(dateString);
            System.out.println(dateTest); //output: Tue Jan 18 11:59:00 GMT 2013
           }

我怎样才能使它dateTest与原始格式相同?

4

5 回答 5

3

使用您用来解析日期的相同 SimpleDateFormat 格式化日期。

于 2013-01-08T12:07:15.643 回答
2

这个

System.out.println(format.format(dateTest));

将完成这项工作。您可以使用您的format()方法SimpleDateFormat来格式化输出,就像您的输入一样。

于 2013-01-08T12:07:20.353 回答
1

java.util.Date 和 java.sql.Date 都存储秒和年,这就是您在打印 dateTest 时看到它们的原因。如果您想以您提供的格式 (dd/MM/yyyy HH:mm) 打印日期,您只需格式化日期。

Date dateTest;      
SimpleDateFormat desiredDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");

try
{
    String dateString  = "18/01/2013 11:59";
    dateTest = desiredDateFormat.parse(dateString);

    System.out.println(desiredDateFormat.format(dateTest)); //output: 18/01/2013 11:59
}
catch (Exception ex)
{
    //do something
}
于 2013-01-08T12:24:51.117 回答
1

你不能,因为 Date 没有“格式”。

如果您需要这个,您可以创建自己的包含内置格式的 Date 类,但这会很麻烦。

正常的方法是在打印时格式化日期。

 System.out.println(format.format(dateTest));
于 2013-01-08T12:07:45.347 回答
0

输出时,使用:

System.out.println(format.format(dateTest));

于 2013-01-08T12:17:17.077 回答