2017-02-15 122 views
-1

當前,存儲的Date requestDate變量的格式如下所示:2017-02-17 00:00:00.0。我想將其轉換爲,例如:Friday, February 17, 2017。我想在我的實體中進行轉換並將其返回,以便在顯示它時更易於閱讀。這可能會發生在構造函數中,在這條線上:this.setRequestDate(doDateConversion(requestDate));。我如何進行此轉換?將時間戳從時間戳轉換爲實體構造函數中可讀的人

我的請求實體:

@Entity 
@Table(name = "Request") 
public class RequestDO implements Serializable { 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    @Column(name="request_id") 
    private Long id; 
    private Date requestDate; 
    private String description; 
    private RequestStatus status; 
    /*private Boolean read;*/ 
    @ManyToOne(fetch=FetchType.LAZY) 
    @JoinColumn(name="user_id", nullable = false) 
    private Users users; 

    public RequestDO() {} 

    public RequestDO(Users user, Date requestDate) { 
     this.setUsers(user); 
     this.setRequestDate(requestDate); 
    } 

    @Override 
    public String toString() { 
     return String.format(
       "RequestDO[id=%d, inital='%s', requestDate='%s']", 
       getId() 
       , getUsers().getInitialName() 
       , getRequestDate()); 
    } 


    public Date getRequestDate() { 
     return requestDate; 
    } 

    public void setRequestDate(Date requestDate) { 
     this.requestDate = requestDate; 
    } 
} 
+0

見的SimpleDateFormat – ControlAltDel

+0

因爲你不是活得t正確使用它。閱讀SimpleDateFormat和DateFormat的javadoc – ControlAltDel

回答

1

使用SimpleDateFormat

java.sql.Date date = new Date(System.currentTimeMillis()); 
System.out.println(new SimpleDateFormat("EEEE, MMMM dd, YYYY").format(date)); 

詳情請參閱this

2

您可以使用SimpleDateFormat將您的日期轉換爲您選擇的可讀字符串。

您的示例的時間格式字符串是EEEE, MMMM, dd, yyyy。您必須創建一個新的SimpleDateFormat對象並將您的日期格式化爲字符串。 Examples...

但是Spring提供了一些開箱即用的特價商品。例如,您可以使用傑克遜日期格式:@JsonFormat(pattern="yyyy-MM-dd")more。也可以在application.properties文件中添加的數據格式:spring.jackson.date-format

0

我通過更改日期,因爲他們在我的控制器讀取,使用SimpleDateFormat的解決了這個問題:

@RequestMapping(value = "/requests", method = RequestMethod.GET) 
    public String getAllRequests(Model model, RequestModel requestModel) throws ParseException { 
     List<RequestDO> requestDOArrayList = new ArrayList<RequestDO>(); 
     for (RequestDO requestDO : requestRepository.findAll()) { 
      log.info(requestDO.toString()); 

      // Display all dates in Requests list in human-readable form 
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
      Date date = sdf.parse(requestDO.getRequestDate().toString()); 
      log.info(String.valueOf(date)); 
      requestDO.setRequestDate(date); 

      requestDOArrayList.add(requestDO); 
     } 
     model.addAttribute("requests", requestDOArrayList); 
     log.info(requestDOArrayList.toString()); 
     return "requests"; 
    }