您好,登錄后才能下訂單哦!
這篇“Java怎么查詢時間段間的數據”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Java怎么查詢時間段間的數據”文章吧。
判斷時間間隔間的數據,就像查詢數字一樣通過between-and方法進行?
答1:
between-and用于查詢數字區間,不用于查詢兩個時間間隔的內容。非要查詢,可以試著把時間格式轉換成Long型。
在用postman工具測試后,Java中報異常:(String類型和Date類型比較出現異常)?
異常信息:
### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
### Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
mybatis--xml
<if test="startTime != null and startTime != ''"> AND create_time <![CDATA[>=]]> #{startTime} </if>
答2:
此處的String類型和Date類型比較異常原因:if標簽中,Date類型不存在String類型,直接判斷就好
<if test="startTime != null"> AND create_time <![CDATA[>=]]> #{startTime} </if>
此時上述問題解決。
補充:
完整的時間區間比較代碼
<where> <if test="startTime != null"> AND create_time <![CDATA[>=]]> #{startTime} </if> <if test="endTime != null"> AND create_time <![CDATA[<=]]>#{endTime} </if> </where>
實體類
//創建時間 private Date createTime; //起始時間 private Date startTime; //結束時間 private Date endTime;
格式化時間startTime和endTime的 時間差,當間隔超過一年時,顯示年月日;
超過一天時,顯示月日;
超過一小時時,顯示多少小時前;
超過一分鐘時,顯示多少分鐘前;
不超過一分鐘,則顯示為剛剛
/** * 格式化時間startTime和endTime的 時間差,用于朋友圈等地方顯示發布時間。例如“45分前”等 * @param endTime :發布時間 * @return 格式化的時間顯示字符 */ public static String getFriendlyTime(Date startTime, Date endTime) { long betweenTime = (endTime.getTime() - startTime.getTime()) / 1000; if (betweenTime < 0) { return DateTimeUtils.convertDate2String(startTime, "yyyy年MM月dd日"); } if (betweenTime / (60 * 60 * 24 * 365) > 0) { //大于1年 return DateTimeUtils.convertDate2String(startTime, "yyyy年MM月dd日"); } if (betweenTime / (60 * 60 * 24 ) > 0) { //大于一天 return DateTimeUtils.convertDate2String(startTime, "MM月dd日"); } if (betweenTime / (60 * 60) > 0) { //大于1小時 return betweenTime / (60 * 60) + "小時前"; } if (betweenTime / (60) > 0) { //大于一分鐘 return betweenTime / (60) + "分鐘前"; } //小于一分鐘 return "剛剛"; }
以上就是關于“Java怎么查詢時間段間的數據”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。