格式化时间的两种方法,主要是看需求,因为在 .wxml 文件中的引入和 .js 文件中的引入是不同的,.js 里的格式化时间方法在 .wxml 中不能使用,所以需要区分开来。
wxml格式化时间(第一种方法)
-
首先在目录文件下新建文件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
}
-
在当前文件 .wxml 引入
文件引入 -
使用
<text class="patient-data">{{filter.formatTime(item.jzrqsj, 'yyyy-MM-dd hh:mm:ss')}}</text>
wxml格式化时间(第二种方法,先在js页面格式化后,然后再通过setData到wxml页面)
- 在当前文件.js 引入
import util from '../../../../utils/util.js'
- 格式化日期
this.setData({
lastLoginTime: util.formatDate(resInfo.lastLoginTime, 'yyyy-MM-dd hh:mm:ss')
})
- data里定义
data:{
lastLoginTime: '',
}
- wxml页面直接用
<view class="list-arrow"><text class="list-version">{{lastLoginTime}}</text></view>
第二种方法(js引入)
- 首先在目录文件下新建文件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
- 在当前文件.js 引入
import util from '../../../../utils/util.js'
- 使用
date: utils.formatDate(new Date(), 'yyyy-MM-dd'), // 选中日期
const endDate = utils.formatDate(now, 'yyyy-MM-dd')
网友评论