日期转时间戳
let datetime = '2021-06-06 11:22:33' let timestamp = new Date(datetime.replace(/-/g,"/")).getTime()/1000
时间戳转日期
util.js
const formatNumber = n => { n = n.toString() return n[1] ? n : `0${n}` } /** * 时间戳转化为年 月 日 时 分 秒 * number: 传入时间戳 * format:返回格式,支持自定义,但参数必须与formateArr里保持一致 */ function formatTime2(number, format) { var formateArr = ['Y', 'M', 'D', 'h', 'm', 's']; var returnArr = []; var date = new Date(number * 1000); returnArr.push(date.getFullYear()); returnArr.push(formatNumber(date.getMonth() + 1)); returnArr.push(formatNumber(date.getDate())); returnArr.push(formatNumber(date.getHours())); returnArr.push(formatNumber(date.getMinutes())); returnArr.push(formatNumber(date.getSeconds())); for (var i in returnArr) { format = format.replace(formateArr[i], returnArr[i]); } return format; } module.exports = { formatTime2: formatTime2 } var time = require('../../utils/util.js'); let datestr = time.formatTime2(timestamp, 'Y-M-D') let timestr = time.formatTime2(timestamp, 'h:m:s') let datetimestr = time.formatTime2(timestamp, 'Y-M-D h:m:s')
使用wxs转换时间
使用wxs将日期(2021-06-30 11:22:33)转换为短时间(刚刚/1分钟前/2小时前/11:22:33/2021-06-30)
filter.wxs
var formatNumber = function (n) { n = n.toString() return n[1] ? n : '0' + n } var string2time = function (string) { console.log(string) var fmt1 = string.substring(0, 19); var reg = getRegExp("-", "g"); var fmt2 = string.replace(reg, '/'); return getDate(fmt2); } /** * 时间戳转化为年 月 日 时 分 秒 * number: 传入时间戳 * format:返回格式,支持自定义,但参数必须与formateArr里保持一致 */ var timestamp2string = function (number, format = "Y-M-D h:m:s") { var formateArr = ['Y', 'M', 'D', 'h', 'm', 's']; var returnArr = []; var date = getDate(number * 1000); returnArr.push(date.getFullYear()); returnArr.push(formatNumber(date.getMonth() + 1)); returnArr.push(formatNumber(date.getDate())); returnArr.push(formatNumber(date.getHours())); returnArr.push(formatNumber(date.getMinutes())); returnArr.push(formatNumber(date.getSeconds())); for (var i = 0; i < returnArr.length; i++) { format = format.replace(formateArr[i], returnArr[i]); } return format; } //将时间戳转换为几分钟前、几小时前 function timeago(timestr) { if (timestr == null) { return ""; } // 这里融合了上面的自定义时间格式,“format”就是干这个用的 // timeStamp是一个时间毫秒,注意时间戳是秒的形式,在这个毫秒的基础上除以1000,就是十位数的时间戳。13位数的都是时间毫秒。 var time = string2time(timestr); var timeStamp = time.getTime()/1000; var day = time.getDate(); var minute = 60; //把分,时,天,周,半个月,一个月用毫秒表示 var hour = minute * 60; var nowTime = getDate(); //获取当前时间 var nowTimeStamp = nowTime.getTime()/1000; var nowDay = nowTime.getDate(); var diffValue = nowTimeStamp - timeStamp;//时间差 if (diffValue < 0) { return timestamp2string(timeStamp, 'Y-M-D'); } var minC = diffValue / minute; //计算时间差的分,时 var hourC = diffValue / hour; var result = ''; if (nowDay != day) { result = timestamp2string(timeStamp, 'Y-M-D') } else if (hourC >= 6) { result = timestamp2string(timeStamp, 'h:m:s') } else if (hourC >= 1) { result = "" + parseInt(hourC) + "小时前"; } else if (minC >= 1 && minC <= 60) { result = "" + parseInt(minC) + "分钟前"; } else if (minC < 1) { result = "刚刚"; } else { } return result; } module.exports = { timestamp2string: timestamp2string, timeago: timeago, }
wxml
<wxs module="filter" src="../../utils/filter.wxs"></wxs> <text class="create-time">{{filter.timeago(created_at)}}</text>
扩展:
console.log(new Date().toISOString().substring(0, 10));// 当前日期 YYYY-MM-DD 示例:2025-02-10 console.log(new Date().toJSON().substring(0, 10)); // 当前日期 YYYY/MM/DD 示例:2025/2/10 console.log(new Date().toLocaleDateString());// 当前时间 hh:mm:ss 示例:2025/2/10 console.log(new Date().toTimeString().substring(0,8));// 当前日期时间 YYYY-MM-DD hh:mm:ss 示例:2025-02-10 10:15:20 console.log(new Date().toJSON().substring(0, 10) + ' ' + new Date().toTimeString().substring(0,8)); var date = new Date(); //获取当前时间 var year = date.getFullYear(); //获取当前年份 var month = date.getMonth() + 1; //获取当前月份 var day = date.getDate(); //获取当前日期 var hour = date.getHours(); //获取当前小时 var minute = date.getMinutes(); //获取当前分钟 var second = date.getSeconds(); //获取当前秒钟 console.log(year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second); //示例:2025-02-10 10:15:20
原文链接:https://blog.csdn.net/watson2017/article/details/118194961