写vue多了习惯对有些数据理解调用方法return,总结了小程序的使用方法
<!-- wxml页面上引入wxs代码,路径自定义 -->
<wxs module="time" src="../../index/index.wxs"></wxs>
<!--使用方法,time为module定义名称,formatHour是wxs的方法名 -->
<view class="item-desc">有效期:{{time.formatHour(item)}}</view>
wxs代码内容
注意:wxs 文件不能使用let const,new Data()等
真机测试时ios无法处理时间格式为"2022-12-12 00:00:00"
需要转为/符号
案例,只获取小时数
var formatHour = function(item) {
if(item.startTime&&item.endTime){
//修ios时间显示异常bug
var times1 = item.startTime.replace("-", "/").replace("-", "/")
var times2 = item.endTime.replace("-", "/").replace("-", "/")
var stime = getDate(times1);
var etime = getDate(times2);
// 两个时间戳相差的毫秒数
var usedTime = etime - stime;
// 计算天数后剩余的毫秒数
var leave1 = usedTime % (24 * 3600 * 1000);
// 计算出小时数
var hours = Math.floor(leave1 / (3600 * 1000));
return hours + "小时"
}
return '-'
}
module.exports = {
formatHour:formatHour
}
以下是根据时间戳获取日期,其他写法大同小异
注意Number()方法也无法使用
var formatTimes = function(date) {
if(!date) return "-"
var time = getDate(parseInt(date));
var year = time.getFullYear();
var month = time.getMonth() + 1;
var day = time.getDate();
var hour = time.getHours();
var minute = time.getMinutes();
var second = time.getSeconds();
month = month < 10 ? "0" + month : month;
date = date < 10 ? "0" + date : date;
hour = hour < 10 ? "0" + hour : hour;
minute = minute < 10 ? "0" + minute : minute;
second = second < 10 ? "0" + second : second;
return year + '-' + month + '-' + day + ' '+ hour + ':' + minute + ':' + second
}
module.exports = {
formatTimes:formatTimes
}