如何转换日期格式并使用Java中的新格式将其存储在日期字段(不是字符串或println)中
我试图从一个对象中获取日期,并更改格式,接下来我需要使用日期值作为日期字段本身(而不是字符串) 正在使用SimpleDataFormat的format()方法更改格式。但是,当我们使用SimpleDataFormat的parse()方法将此字符串值分配回日期字段时,将使用默认格式。 使用SpringMVC,需要将此日期MM/dd/yyyy作为模型属性传递给JSP文件 PFB代码和处理该行后生成的日期格式注释如何转换日期格式并使用Java中的新格式将其存储在日期字段(不是字符串或println)中,java,date,simpledateformat,date-formatting,Java,Date,Simpledateformat,Date Formatting,我试图从一个对象中获取日期,并更改格式,接下来我需要使用日期值作为日期字段本身(而不是字符串) 正在使用SimpleDataFormat的format()方法更改格式。但是,当我们使用SimpleDataFormat的parse()方法将此字符串值分配回日期字段时,将使用默认格式。 使用SpringMVC,需要将此日期MM/dd/yyyy作为模型属性传递给JSP文件 PFB代码和处理该行后生成的日期格式注释 Date date1 = student.getDateOfBirth();
Date date1 = student.getDateOfBirth(); // Tue May 16 00:00:00 IST 2017
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
String dateStr = dateFormat.format(date1); // 05/16/2017
Date date2 = format.parse(dateStr); // Tue May 16 00:00:00 IST 2017
student.setDateOfBirth(date2);
Date
对象没有任何表示格式的状态。如果在date1
中获得了正确的值,那么格式化和解析它完全没有意义
相反,当您希望以后以特定格式显示
日期时,您应该在那里对其进行格式化。(请注意,您也应该决定您感兴趣的时区。)感谢Jon的回复。您的意思是我们不能在日期字段中存储格式为“MM/dd/yyyy”的日期吗?@JeromeJoseph:如果字段类型为date
,则不能-您只能存储即时时间。如果有帮助的话,可以把它想象成一个int
字段——你不能说“我想用十六进制存储这个int
”或“我想用二进制存储这个int
”——它只是一个整数。日期时间对象不是字符串,也没有格式。在发布之前先研究一下这个主题。