借鑑的文章.
本次的處理 可以說是東拼西湊的結果,後期考慮優化,本次先做記錄
前臺的處理
顯示時間戳的控件
使用的是input 類型選擇的是 datetime-local
這個控件有個弊端 沒有 秒顯示的區域
1)拿到控件的值
let saledateVal=$("#saledate").val();
- 對拿到的值做處理
調用方法 目的是分離得到時間戳前面的時間部分
原因是
let saledateVal=$("#saledate").val();
拿到的數據的型爲
2020-12-19T14:25
不是想要的結果,所以需要自己構造,調用下的方法,構造成 2020-12-19 14:25:00 形式
function formatterDatetimeLocalToAppricationMy(dateMy) {
let n=dateMy.split("T");
let dateNeed=n[0]+" "+n[1]+":00";
return dateNeed;
}
3)構造成功之後,利用ajax攜帶數據到後臺即可
org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@org.springframework.format.annotation.DateTimeFormat @com.fasterxml.jackson.annotation.JsonFormat java.sql.Timestamp] for value ‘2020-12-18 22:25:00’; nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.util.Date] to type [@org.springframework.format.annotation.DateTimeFormat @com.fasterxml.jackson.annotation.JsonFormat java.sql.Timestamp]]]
上面的意思大概說是json轉換字符串的時候出了問題,無法轉換 String類型和 TimeStamp 類型
這個錯誤出現的原因是因爲筆者在實體類的timestamp字段上加了註解,去掉之後就好了
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Timestamp saledate;
這樣轉換的時候出了問題,這兩個註解之前處理 Date格式的時候屢試不爽
處理Date格式的是用法如下
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date saledate;
這樣這個日期字段使用上面就和String類似,不需要前後臺類型轉換,本來想套用的,但是好像套用失敗了。。這個可以後期優化,歡迎提出針對 TimeStamp 的註解的加法,請評論回覆,謝謝
數據庫建表的時候,建議添加 timestamp 字段的默認值添加默認值,當然,需要根據具體的業務邏輯來處理,筆者爲了方便插入數據的時候的麻煩,就爲類型是 timestamp 的字段添加了默認值