Java查詢時間段(startTime--endTime)間的數(shù)據(jù)方式
Java查詢時間段的數(shù)據(jù)
問題1
判斷時間間隔間的數(shù)據(jù),就像查詢數(shù)字一樣通過between-and方法進(jìn)行?
答1:
between-and用于查詢數(shù)字區(qū)間,不用于查詢兩個時間間隔的內(nèi)容。非要查詢,可以試著把時間格式轉(zhuǎn)換成Long型。
問題2
在用postman工具測試后,Java中報異常:(String類型和Date類型比較出現(xiàn)異常)?
異常信息:
### 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標(biāo)簽中,Date類型不存在String類型,直接判斷就好
<if test="startTime != null"> ?AND create_time <![CDATA[>=]]> #{startTime} </if>
此時上述問題解決。
補充:
完整的時間區(qū)間比較代碼
<where> ? ?<if test="startTime != null"> ? ? ? ?AND create_time <![CDATA[>=]]> #{startTime} ? ?</if> ? ?<if test="endTime != null"> ? ? ? ?AND create_time <![CDATA[<=]]>#{endTime} ? ?</if> </where>
實體類
//創(chuàng)建時間 ? ? private Date createTime; ? //起始時間 ? ? private Date startTime; ? //結(jié)束時間 ? ? private Date endTime;
格式化時間startTime和endTime的時間差
格式化時間startTime和endTime的 時間差,當(dāng)間隔超過一年時,顯示年月日;
超過一天時,顯示月日;
超過一小時時,顯示多少小時前;
超過一分鐘時,顯示多少分鐘前;
不超過一分鐘,則顯示為剛剛
/** * 格式化時間startTime和endTime的 時間差,用于朋友圈等地方顯示發(fā)布時間。例如“45分前”等 * @param endTime :發(fā)布時間 * @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 "剛剛"; }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot3.x中spring.factories?SPI?服務(wù)發(fā)現(xiàn)機(jī)制的改變問題小結(jié)
spring.factories其實是SpringBoot提供的SPI機(jī)制,底層實現(xiàn)是基于SpringFactoriesLoader檢索ClassLoader中所有jar引入的META-INF/spring.factories文件,這篇文章主要介紹了SpringBoot3.x中spring.factories?SPI?服務(wù)發(fā)現(xiàn)機(jī)制的改變,需要的朋友可以參考下2023-05-05Spring2.5.6開發(fā)環(huán)境搭建圖文教程
這篇文章主要為大家詳細(xì)介紹了Spring2.5.6開發(fā)環(huán)境搭建圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05Java后臺基于POST獲取JSON格式數(shù)據(jù)
這篇文章主要介紹了Java后臺基于POST獲取JSON格式數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03JavaWeb利用struts實現(xiàn)文件下載時改變文件名稱
這篇文章主要為大家詳細(xì)介紹了JavaWeb利用struts實現(xiàn)文件下載時改變文件名稱的相關(guān)資料,需要的朋友可以參考下2016-06-06