欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

两种简单的小程序格式化时间的方法

最编程 2024-08-03 19:01:40
...

格式化时间的两种方法,主要是看需求,因为在 .wxml 文件中的引入和 .js 文件中的引入是不同的,.js 里的格式化时间方法在 .wxml 中不能使用,所以需要区分开来。

wxml格式化时间(第一种方法)

  1. 首先在目录文件下新建文件filter.wxs(名字随意)


    新建文件
// 第一种方法:
var formatTime = function (strDate, format = "yyyy-MM-dd hh:mm:ss") {
  if(strDate==null || strDate ==undefined || strDate=="")
  {
      return ""
  }
  // 解决ios出现NaN问题
  strDate = strDate.replace("T", " ");
  var realDate = strDate ? getDate(strDate.replace(getRegExp('-', 'g'), '/')) : getDate();
  var regYear = getRegExp("(y+)", "i");
  var date = [
      ["M+", realDate.getMonth() + 1],
      ["d+", realDate.getDate()],
      ["h+", realDate.getHours()],
      ["m+", realDate.getMinutes()],
      ["s+", realDate.getSeconds()],
      ["q+", Math.floor((realDate.getMonth() + 3) / 3)],
      ["S+", realDate.getMilliseconds()],
  ];
  var reg1 = regYear.exec(format);
  if (reg1) {
      format = format.replace(reg1[1], (realDate.getFullYear() + '').substring(4 - reg1[1].length));
  }
  for (var i = 0; i < date.length; i++) {
      var reg2 = getRegExp("(" + date[i][0] + ")").exec(format);
      if (reg2) {
          format = format.replace(reg2[1], reg2[1].length == 1 ? v : ("00" + date[i][1]).substring(("" + date[i][1]).length));
      }
  }
  return format;
}

module.exports = {
  formatTime:formatTime
}
  1. 在当前文件 .wxml 引入


    文件引入
  2. 使用

<text class="patient-data">{{filter.formatTime(item.jzrqsj, 'yyyy-MM-dd hh:mm:ss')}}</text>

wxml格式化时间(第二种方法,先在js页面格式化后,然后再通过setData到wxml页面)

  1. 在当前文件.js 引入
import util from '../../../../utils/util.js'
  1. 格式化日期
this.setData({
    lastLoginTime: util.formatDate(resInfo.lastLoginTime, 'yyyy-MM-dd hh:mm:ss') 
})
  1. data里定义
data:{
  lastLoginTime: '', 
}
  1. wxml页面直接用
<view class="list-arrow"><text class="list-version">{{lastLoginTime}}</text></view>

第二种方法(js引入)

  1. 首先在目录文件下新建文件util.js(名字随意) ,和方法一一样
let Util = {
  /**
   * 格式化日期时间
   * @param {date} date 日期时间
   * @param {string} fmt 格式,如:'yyyy-MM-dd hh:mm:ss'
   */
  formatDate (date, fmt) {
    if (!date) return '-'
    date = new Date(date)
    const o = {
      'M+': date.getMonth() + 1, // 月份
      'd+': date.getDate(), // 日
      'h+': date.getHours(), // 小时
      'm+': date.getMinutes(), // 分
      's+': date.getSeconds(), // 秒
      'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
      S: date.getMilliseconds() // 毫秒
    }
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
    for (const k in o) { if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))) }
    return fmt
  }
}
export default Util
  1. 在当前文件.js 引入
import util from '../../../../utils/util.js'
  1. 使用
 date: utils.formatDate(new Date(), 'yyyy-MM-dd'), // 选中日期
 const endDate = utils.formatDate(now, 'yyyy-MM-dd')