記一次前端中國標准時間轉換為yyyy-MM-dd類型


記一次前端中國標准時間轉換為yyyy-MM-dd類型

最新在工作中遇到一個常見的需求,按照時間區間進行查詢。這里使用的是Elementui模板,但是獲取過后的時間是一個中國標准時間並不是想要的yyyy-MM-dd類型,時間類型如下:

我的js處理如下:

let searchDjmObj = _self.searchDjm;
      let searchPmsjObj= _self.searchPmsj;
      let startTime = '';
      let endTime = '';
      // 因為split是分割string類型的,所以如果不是string類型要先轉換
      if(searchPmsjObj != '' && searchPmsjObj != null) {
        if(typeof searchPmsjObj != 'string') {
        searchPmsjObj = searchPmsjObj.toString();
      }
      // 分割出來開始時間和結束時間,一個數組
      var result = searchPmsjObj.split(",");
      // 獲取開始時間
      let startDate = result[0];
      // 獲取結束時間
      let endDate = result[1];
      // 將string類型時間轉換為date類型,因為只有時間類型才可以使用getFullyear,getMonth等
      let startDateTemp = new Date(startDate);
      // 將string類型時間轉換為date類型,因為只有時間類型才可以使用getFullyear,getMonth等
      let endDateTemp = new Date(endDate);
      console.log(startDateTemp);
      console.log(endDateTemp);
      // 將剝離的時間年轉換為string
      let yyyys = startDateTemp.getFullYear().toString();
      // 將剝離的時間月轉換為string
      let months = (startDateTemp.getMonth() + 1).toString();
      // 將剝離的時間日轉換為string
      let days = startDateTemp.getDate().toString();
      // 判斷月和日是否是小於10,小於10的補0
      startTime = yyyys +"-"+(months[1]?months:"0" + months[0]) + "-" + (days[1] ? days:"0"+days[0]);
      let yyyye = endDateTemp.getFullYear().toString();
      let monthe = (endDateTemp.getMonth() + 1).toString();
      let daye = endDateTemp.getDate().toString();
      endTime = yyyye +"-"+(monthe[1]?monthe:"0" + monthe[0]) + "-" + (daye[1] ? daye:"0"+daye[0]);

那么后台接收就可以使用String了

相對應的sql編寫就可以是:

  <select id="getDjmInfo" parameterType="String" resultMap="BaseResultMap">
    select t.djm,s.* from ymgd.t_djm s left join sde.st_djmdk t on s.bsm = t.xmbsm
    where 1=1
    <if test="null != djm and '' != djm">
      and ((t.djm like  concat(concat('%',#{djm}),'%')) or  (s.dkmc like  concat(concat('%',#{djm}),'%')) or (s.pmjg like  concat(concat('%',#{djm}),'%')))
    </if>
    <if test="null != startTime and '' != startTime and null != endTime and '' != endTime">
      and (to_char(s.pmsj,'yyyy-MM-dd') between #{startTime} and #{endTime})
    </if>
    order by s.pmsj desc
  </select>

注意這里要使用#來獲取變量不能使用$!

參考鏈接:
https://www.cnblogs.com/gudi/p/8031219.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM