【发布时间】:2016-12-21 12:50:15
【问题描述】:
当我在存储库 personRepository.save(person) 中保存实体时,此返回的对象的日期格式如下:2016 年 12 月 21 日星期三 13:38:00 CET 2016。我如何将其更改为如下格式:2016- 12-21 13:38:00.732?这种转换在哪里完成,如何改变?在我的数据库中,日期以这种格式保存:2016-12-21 13:38:00.732。
@Entity
public class Person {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "update_date")
private java.util.Date updateDate;
public interface PersonRepository extends CrudRepository<Person, Long> {}
【问题讨论】:
-
"我的数据库日期以这种格式保存:2016-12-21 13:38:00.732"。不正确。您用来查看数据库的工具以该格式显示它。日期就是日期。 2016 年 12 月 21 日星期三 13:38:00 CET 是调用 toString() 的结果。要以给定格式显示它,请使用适合您目的的格式化程序。
-
该工具是 Eclipse 中实体中字段 java.util.Date 的调试器。我有另一个 dao 类(条件查询),我在其中得到这个实体(相同的实体)并且格式为 2016-12-21 13:38:00.732
-
您可以使用各种不同的解决方案以各种不同的格式打印日期,具体取决于您要写入的位置。在标准 Java API 中,您可以使用 docs.oracle.com/javase/7/docs/api/java/text/… 的实例以特定格式打印日期。
-
奇怪的是,在同一个实体中调用toString,对于相同类型的字段,根据使用的存储库不同的格式显示日期
标签: spring-boot orm spring-data