微信小程序时间戳 页面中时间戳转成自己需要的格式(支持列表循环等)

时间:2024-02-24 15:17:35

1、创建一个dateTime.wxs文件,放在公共文件夹下,内容代码如下:

var formatNumber = function (n) {
  n = n.toString()
  return n[1] ? n : \'0\' + n
}

var regYear = getRegExp("(y+)", "i");
// 自定义的时间过滤器,下面parseInt(timestamp) * 1000主要是这里使用的s,如果是ms。去掉*1000即可
 var dateFormat = function (timestamp, format) { if (!format) { format = "yyyy-MM-dd hh:mm:ss"; } timestamp = parseInt(timestamp) * 1000;
  
var realDate = getDate(timestamp); function timeFormat(num) { return num < 10 ? \'0\' + num : num; } var date = [ ["M+", timeFormat(realDate.getMonth() + 1)], ["d+", timeFormat(realDate.getDate())], ["h+", timeFormat(realDate.getHours())], ["m+", timeFormat(realDate.getMinutes())], ["s+", timeFormat(realDate.getSeconds())], ["q+", Math.floor((realDate.getMonth() + 3) / 3)], ["S+", realDate.getMilliseconds()], ]; var reg1 = regYear.exec(format); // console.log(reg1[0]); if (reg1) { format = format.replace(reg1[1], (realDate.getFullYear() + \'\').substring(4 - reg1[1].length)); } for (var i = 0; i < date.length; i++) { var k = date[i][0]; var v = date[i][1]; var reg2 = getRegExp("(" + k + ")").exec(format); if (reg2) { format = format.replace(reg2[1], reg2[1].length == 1 ? v : ("00" + v).substring(("" + v).length)); } } return format; } module.exports = { dateFormat: dateFormat };

2、那个页面使用只需要在wxml页面头部引入dateTime.wxs

<wxs module="dateUtil" src="../../../utils/dateTime.wxs"></wxs>

3、在需要时间戳转换格式时调用

<view class=\'textCenter\'>{{dateUtil.dateFormat(currentTime,\'YYYY年MM月dd日 hh时mm分ss秒\')}}</view>
//这里的格式自己定义\'YYYY-MM-dd hh:mm:ss\',所有格式都是支持的,只取日,时都是可以的
//currentTime是js中的时间戳,这里currentTime 是以s为单位,如需ms,请去修改dateTime.wxs中的js