toString方法中java.util.Date的奇怪格式

时间:2013-05-17 07:30:34

标签: java date

在文档中写入date.toString格式的返回日期:

dec mon dd hh:mm:ss zzz yyyy

所以我打印了我的人的出生日期:

logger.error(person.getDateOfBirth().toString() + "dddddddddddddddd");

但看起来不一样:

- 1955-04-14 00:00:00.0dddddddddddddddd

为什么?

更新:

我这样设定日期:

            Calendar calendar = Calendar.getInstance();
            calendar.set(1955, 3, 14);
            calendar.getTime()

我期待以文档

编写的格式的日期

3 个答案:

答案 0 :(得分:3)

确保

的类型
person.getDateOfBirth()

java.util.Date

通过查看输出,我想它的 java.sql.Timestamp

答案 1 :(得分:0)

我得到的http://ideone.com/aspxEF符合预期

Thu Apr 14 09:04:33 GMT 1955

如果你按照你的建议使用代码,你应该在那里看到当前时间而不是午夜。

答案 2 :(得分:0)

字符串转换日期

根据您的问题,您希望将日期转换为字符串

person.getDateOfBirth()是代码

的对象

我不熟悉你的代码片段的返回值person.getDateOfBirth() 但如果是java.util.date或java.sql.date 两者都可以使用

String dob=String.valueOf(person.getDateOfBirth());

而不是toString()方法。 请从db检索日期

java.sql.date dob= rs.getDate();
or
java.util.date dob= rs.getDate();

基于您想要的格式