一般后台给时间数据是给时间戳留给前端自己转,而小程序页面展示又可能会有很多种
例:2020年12月、2020.12、2020-12、2020.12.12.8.08
为了方便转化这里封装一个js方法到小程序的wxs过滤器里面
1.time.wxs
//timestamp给默认时间 YYYY/MM/dd hh:mm:ss 为默认时间格式 中间字符都可以替换
var regYear = getRegExp("(y+)", "i");
var dateFormat = function (timestamp = 1598255706000, format) {
if (!format) {
format = "YYYY/MM/dd hh:mm:ss";
}
timestamp = parseInt(timestamp);
var realDate = getDate(timestamp);
function timeFormat(num) {
return 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);
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.小程序页面内使用
<!-- 引入 -->
<wxs src='../../utils/time.wxs' module="dateFormat"></wxs>
<!-- 使用例子 -->
<view>{{dateFormat.dateFormat(petRemindLists.lastRemindDate,'YYYY年MM月dd日')}}</view>
<view>{{dateFormat.dateFormat(dailyLists.writeTime,'MM')}}</view>
<view>·{{dateFormat.dateFormat(item.birthday,'M')}}月{{dateFormat.dateFormat(item.birthday,'d')}}日
</view>
以上代码贴下来可以直接使用
希望能帮到大家,也便于自己记录(如果有帮助到大家可以点下赞哦~)!!!
如有疑问或者不对的地方可以下方评论留言讨论哦~会积极回复大家的!!!