一、时间戳的概念
时间戳,指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。JavaScript中的时间是以毫秒为单位的,所以需要将秒数乘以1000来转换成JavaScript中的毫秒数。
二、时间戳转时间格式
在微信小程序中,时间戳可以通过内置的方法进行转换。
/** * 时间戳转换成时间格式 * * @param {number} timestamp 时间戳 * @param {string} format 时间格式(可选,默认为yyyy-MM-dd hh:mm:ss) * @returns {string} 转换后的时间 */ function formatTime(timestamp, format = 'yyyy-MM-dd hh:mm:ss') { const date = new Date(timestamp * 1000); const year = date.getFullYear(); const month = addZero(date.getMonth() + 1); const day = addZero(date.getDate()); const hour = addZero(date.getHours()); const minute = addZero(date.getMinutes()); const second = addZero(date.getSeconds()); return format.replace('yyyy', year) .replace('MM', month) .replace('dd', day) .replace('hh', hour) .replace('mm', minute) .replace('ss', second); } /** * 在数字前补0 * * @param {number} num 数字 * @returns {string} 补0后的字符串 */ function addZero(num) { return num < 10 ? '0' + num : num; }
三、时间格式化
上述方法只是将时间戳转换成了指定的时间格式,如果需要格式化时间,可以使用date-fns这个JavaScript库,它提供了非常丰富的API供我们使用。
四、示例代码
{{ formatTime(timestamp) }}
// js代码 import { format } from 'date-fns'; Page({ data: { timestamp: 1605963200, }, formatTime(timestamp, format = 'yyyy-MM-dd hh:mm:ss') { const date = new Date(timestamp * 1000); return format(date); }, });
五、小结
本文详细介绍了微信小程序中时间戳转时间格式的方法,根据需要不同,可以选择使用内置的方法或借助第三方库来进行时间格式化。