Java中的对象到日期格式
我对日期有一个很大的问题,我必须以正确的方式格式化日期。我的解决方案如下:Java中的对象到日期格式,java,date,simpledateformat,date-format,Java,Date,Simpledateformat,Date Format,我对日期有一个很大的问题,我必须以正确的方式格式化日期。我的解决方案如下: ... //Read: 1935-05-12 00:00:00.0 Date dateOfBirth= (Date) arrayOfObject[3]; //Pattern: dd-MM-yyyy hh:mm:ss DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss"); //12-05-1935 12:00:00 (
...
//Read: 1935-05-12 00:00:00.0
Date dateOfBirth= (Date) arrayOfObject[3];
//Pattern: dd-MM-yyyy hh:mm:ss
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
//12-05-1935 12:00:00 (for me it's perfect but I need Date and no String)
String strDate = dateFormat.format(dateOfBirth);
//Read: Sun May 12 00:00:00 CET 1935
dateOfBirth= dateFormat.parse(strDate);
//Read: Sun May 12 00:00:00 CET 1935
rep.setDateOfBirth(dateOfBirth);
...
我需要一种类似于strDate的格式,因为我需要数据库的这种格式,但我需要的是日期而不是字符串,我不知道如何以正确的方式格式化我的日期字符串。您可以将日期按原样存储在数据库中,然后在检索之后,您可以将其转换为DTO级别所需的任何格式。我不确定您的要求。您已经有日期了。日期是一个瞬间。日期的表示形式可以是字符串。我建议您不要使用
SimpleDateFormat
和date
。这些类设计得很糟糕,而且早已过时,其中前者尤其令人讨厌。而是使用来自的LocalDateTime
和DateTimeFormatter
。这是否回答了您的问题。是吗?因为您得到了1935-05-12 00:00:00.0
,看起来您真的从数组中得到了java.sql.Timestamp
对象。这是另一个设计拙劣、过时已久的类,Date
的子类,并且是一个真正的黑客。请解释一下,当原始对象中的时间是00:00:00.0时,12:00:00怎么可能是完美的呢?事实上,如果你有一个数据库,那么你就可以。它回答了这个问题吗?怎么用?(不是你的选民)