2017-05-02 12 views
0

我使用spring和hibernate開發的application.I已經使用如何從春季和冬眠的數據庫中獲取正確格式的日期時間?

@Entity 
public class Category { 
@CreationTimestamp 
private java.sql.Timestamp created; 
//getter and setter 
} 

自動備份創建time.It節省時間創建以及數據庫,如:

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

'1490769256000' millseconds自1970/01/01可以創建一個'Date'對象,可以使用的SimpleDateFormat格式化 –

+0

廣東話我得到了簡單的日期格式,同時從檢索數據庫使用上述方法? – pravin

+0

是的,jdbc允許你獲得一個值作爲日期,但json從哪裏來? –

回答

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)); 
    } 

} 

檢查主要方法,通過這種方式可以

0

可以使用JDK8的新java.time類如下轉變:

LocalDateTime ldt = LocalDateTime.ofInstant(Instant.ofEpochMilli(1490769256000L), ZoneId.systemDefault()); 
System.out.println(ldt.format(DateTimeFormatter.ISO_DATE_TIME)); 
0

你可以採取Java的優勢@ JsonFormat註釋。 在這種情況下,它看起來像

@CreationTimestamp 
//Json Format for your date here 
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss") 
private java.sql.Timestamp created; 
相關問題