首先实例时间对象,因为月份是0-11所以我们要+1, 小程序wxs中不支持使用es6-8语法, 只支持es5语法,所以我们不能用padStart(字符串不够两位数,向前补0详细看ES6 字符串的新增方法_w3cschool),这里我用到了三元运算符判断不够两位数, 则向前 + '0'
获取当前时间格式化
var filterTime = function () {
// 实例化时间对象
var dt = getDate()
// 获取当前年份
var year = dt.getFullYear()
// 获取当前月份
var month = dt.getMonth() + 1 >= 10 ? dt.getMonth() + 1 : '0' + (dt.getMonth() + 1)
// 获取当前日
var days = dt.getDate() >= 10 ? dt.getDate() : '0' + dt.getDate()
// 获取当前小时
var hour = dt.getHours() >= 10 ? dt.getHours() : '0' + dt.getHours()
// 获取当前分
var min = dt.getMinutes() >= 10 ? dt.getMinutes() : '0' + dt.getMinutes()
// 获取当前秒
var s = dt.getSeconds() >= 10 ? dt.getSeconds() : '0' + dt.getSeconds()
// 返回时间字符串
return year + '-' + month + '-' + days + ' ' + hour + ':' + min + ':' + s
}
// 这里因为wxs只支持es5语法, 所以只能用module.exports
module.exports = {
filterTime: filterTime
}
在wxml中引用
/* 引用wxs文件 */
<wxs module='ml' src='./time.wxs'></wxs>
/* 使用wxs中filterTime方法 */
<view>{{ml.filterTime()}}</view>
效果图如下
通过传参获取时间, 例如: 132200090000
var filterTime = function (time) {
// 初始化时间
var dt = getDate(time)
// 获取当前年份
var year = dt.getFullYear()
// 获取当前月份
var month = dt.getMonth() + 1 >= 10 ? dt.getMonth() + 1 : '0' + (dt.getMonth() + 1)
// 获取当前日
var days = dt.getDate() >= 10 ? dt.getDate() : '0' + dt.getDate()
// 获取当前小时
var hour = dt.getHours() >= 10 ? dt.getHours() : '0' + dt.getHours()
// 获取当前分
var min = dt.getMinutes() >= 10 ? dt.getMinutes() : '0' + dt.getMinutes()
// 获取当前秒
var s = dt.getSeconds() >= 10 ? dt.getSeconds() : '0' + dt.getSeconds()
// 导出时间字符串
return year + '-' + month + '-' + days + ' ' + hour + ':' + min + ':' + s
}
module.exports = {
filterTime: filterTime
}
在wxml页面调用filterTime方法进行传值
<view>{{ml.filterTime(132200090000)}}</view>
<wxs module='ml' src='./time.wxs'></wxs>
效果图