我正在使用spring和hibernate开发一个应用程序。我使用了
@Entity
public class Category {
@CreationTimestamp
private java.sql.Timestamp created;
//getter and setter
}
用于自动保存创建的时间。它将创建的时间保存在数据库中,如:
2017-03-29 12:19:16
但是当我得到json对象时,我的日期会改为另一种格式,如
"created": 1490769256000
获取类别的方法是:
public Category findCategoryById(int id) throws SQLException {
session = sessionFactory.getCurrentSession();
return ((Category)session.get(Category.class,id));
}
如何以与保存在数据库中相同的格式获取它。
答案 0 :(得分:1)
import java.sql.Date;
import java.text.SimpleDateFormat;
public class MainClass {
public static void main(String[] args) {
long long_date = 1490769256000L;
Date dt = new Date (long_date);
SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
System.out.println(sf.format(dt));
}
}
检查主要方法,通过这种方式你可以
答案 1 :(得分:0)
您可以使用JDK8的新java.time类进行转换,如下所示:
LocalDateTime ldt = LocalDateTime.ofInstant(Instant.ofEpochMilli(1490769256000L), ZoneId.systemDefault());
System.out.println(ldt.format(DateTimeFormatter.ISO_DATE_TIME));
答案 2 :(得分:0)
您可以利用Java的@JsonFormat Annotation。 在这种情况下,它看起来像
@CreationTimestamp
//Json Format for your date here
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
private java.sql.Timestamp created;