zoukankan      html  css  js  c++  java
  • 记一次前端中国标准时间转换为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
    
  • 相关阅读:
    深入浅出C#结构体——封装以太网心跳包的结构为例
    视频在线率统计——基于驱动总线设备的领域驱动设计方法落地
    在net Core3.1上基于winform实现依赖注入实例
    类与结构体性能对比测试——以封装网络心跳包为例
    基于Modbus三种CRC16校验方法的性能对比
    Git在公司内部的使用规范
    基于abp框架的数据库种子数据初始化
    VUE中登录密码显示与隐藏的最简设计——基于iview
    abp框架运行——前后端分离(基于VUE)
    基于HTTPS的接口测试——nginx配置SSL
  • 原文地址:https://www.cnblogs.com/clover-forever/p/13542042.html
Copyright © 2011-2022 走看看