Java根據年齡段獲取對應年份起始時間戳和最終時間戳、根據生日時間戳獲取月份(與數據庫的時間戳處理成的月份拼接成SQL條件)

一、傳入年齡段,兩個值,一個最小值,一個最大值,而後獲取該年齡段的兩個時間戳:sql

(1)處理時間方法:數據庫

 1  /**
 2      * 根據年齡獲取時間戳(開始年齡key取0,返回一年最後一秒時間戳,時間戳大;反之結束年齡獲取一年初始時間戳)
 3      *
 4      * @param age 年齡
 5      * @param key 判斷鍵,0-年齡小,1-年齡大
 6      *
 7      * @return 時間戳
 8      */
 9     private Long getBirthTime(Integer age, Integer key) {
10 
11         DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
12         Date d = new Date();
13         Calendar c = Calendar.getInstance();
14         c.setTime(d);
15         c.add(Calendar.YEAR, 0 - age);
16 
17         if (key == 0) {
18             c.set(Calendar.MONTH, 11);//十二月
19             c.set(Calendar.DATE, 31);
20             c.set(Calendar.HOUR, 23);
21             c.set(Calendar.MINUTE, 59);
22             c.set(Calendar.SECOND, 59);
23         } else {
24             c.set(Calendar.MONTH, 0);//一月
25             c.set(Calendar.DATE, 1);
26             c.set(Calendar.HOUR, 0);
27             c.set(Calendar.MINUTE, 0);
28             c.set(Calendar.SECOND, 0);
29         }
30 
31         Date birthDate = c.getTime();
32         String a = format.format(birthDate);
33         return DatetimeUtils.convertStartDateToTimestamp(a);
34     }

(2)調用:spa

Long beginAge;
Long endAge;
beginAge = getBirthTime(req.getLowValue().intValue(),0);
endAge = getBirthTime(req.getHighValue().intValue(),1);


二、傳入時間戳獲取對應的月份:
(1)處理時間方法:
 1   private Integer getBirthTime(Long timeStamp) {
 2         try {
 3             Date date = new Date(timeStamp * 1000);
 4             Calendar c = Calendar.getInstance();
 5             c.setTime(date);
 6             return c.get(Calendar.MONTH) + 1;
 7         } catch (Exception e) {
 8             e.printStackTrace();
 9         }
10         return 0;
11     }

(2)調用:code

Integer birthday;
//獲取日期的月份
birthday = getBirthTime(1514735999L);

(3)數據庫的表中存在birthday字段,以時間戳形式存放,截取其中月份:

select *
FROM member_info
WHERE
FROM_UNIXTIME(`birthday`,'%m') = 7orm

(4)在Java中拼接成條件字符串:blog

String sql = "FROM_UNIXTIME(`birthday`,'%m') = " + birthMonth;
相關文章
相關標籤/搜索