微信小程序实现时间戳格式转换
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
在微信小程序中,时间戳格式转换是一个常见的需求,特别是在接收后端返回的数据时,往往需要将时间戳转化为用户友好的日期和时间格式。本篇主要介绍两种方法来实现这一功能。 1. 封装好的 js 文件外部引入 在这种方法中,我们可以创建一个独立的 utility(工具)模块,例如 `util.js`,来封装处理时间戳的函数。以下是一个简单的 `formatDate` 函数示例: ```javascript // util.js function formatDate(inputTime) { var date = new Date(inputTime); var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; var h = date.getHours(); h = h < 10 ? ('0' + h) : h; var minute = date.getMinutes(); var second = date.getSeconds(); minute = minute < 10 ? ('0' + minute) : minute; second = second < 10 ? ('0' + second) : second; return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second; } // 导出函数 module.exports = { formatDate: formatDate }; ``` 然后,在需要使用这个函数的页面(如 `index.js`)中,我们需要引入并使用这个工具文件: ```javascript // index.js const util = require('../../common/util.js'); Page({ data: { list: [ { time: 1552533070 }, { time: 1552533070 }, { time: 1552533070 }, ], }, onLoad: function () { var time2 = []; for (var i = 0; i < this.data.list.length; i++) { var time = this.data.list[i].time; var time1 = util.formatDate((this.data.list[i].time) * 1000); time2.push(time1); } console.log('list', time2); }, }); ``` 这里要注意的是,由于 JavaScript 的 Date 对象通常接受毫秒为单位的时间戳,所以在调用 `formatDate` 函数时,需要将秒级别的时间戳乘以 1000 转换为毫秒。 2. 在需要的 js 文件中封装单独函数 如果不希望引入额外的工具文件,也可以直接在每个需要格式化时间戳的页面中封装函数。例如: ```javascript Page({ data: { list: [ { time: 1552533070 }, { time: 1552533070 }, { time: 1552533070 }, ], }, onLoad: function () { var time2 = []; for (var i = 0; i < this.data.list.length; i++) { var time = this.data.list[i].time; var time1 = this.formatDate((this.data.list[i].time) * 1000); time2.push(time1); } console.log('list', time2); }, // 在当前页面内封装的时间戳转换函数 formatDate: function (inputTime) { var date = new Date(inputTime); var y = date.getFullYear(); var m = date.getMonth() + 1; m = m < 10 ? ('0' + m) : m; var d = date.getDate(); d = d < 10 ? ('0' + d) : d; var h = date.getHours(); h = h < 10 ? ('0' + h) : h; var minute = date.getMinutes(); var second = date.getSeconds(); minute = minute < 10 ? ('0' + minute) : minute; second = second < 10 ? ('0' + second) : second; return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second; }, }); ``` 这种方式的好处是避免了引入外部文件,但缺点是重复的代码可能导致维护困难。 无论是哪种方式,核心都是通过 JavaScript 的 Date 对象和相关方法来处理时间戳。时间戳转换的核心步骤包括: 1. 创建一个新的 Date 对象,传入时间戳(毫秒或秒)作为参数。 2. 使用 `getFullYear()`,`getMonth()`,`getDate()`,`getHours()`,`getMinutes()` 和 `getSeconds()` 方法获取年、月、日、小时、分钟和秒。 3. 对月份和日期不足两位的情况,前面补零。 4. 组合成所需的日期时间格式字符串。 以上就是在微信小程序中实现时间戳格式转换的两种常见方法,它们都依赖于 JavaScript 的内置 Date 对象和字符串拼接技术。在实际开发中,可以根据项目需求和代码管理策略选择适合的方法。
- 粉丝: 77
- 资源: 1267
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助