elementui时间选择器按照北京时间传入后端
分类: 前端
简介: //使用时间戳形式传入后端value format="timestamp" <el date picker v model="form.startTime" type="datetime" value format="timestamp" placeholder="选择日期时间" :disabled="timeupdate" :default value="new Date()" > </el date picker>
vue实现时间戳转化为”刚刚“,”几分钟前“,”几小时前“,”几周前“,”几月前“,”几年前“
分类: 前端
简介: timeAgo(dateTimeStamp) { let result = ""; let minute = 1000 * 60; //把分,时,天,周,半个月,一个月用毫秒表示 let hour = minute * 60; let day = hour * 24; let week = day * 7; let halfamonth = day * 15; let month = day * 30; let year = month * 12; let now = new Date().getTime(); //获取当前时间毫秒 console.log('now:'+now) let diffValue = now dateTimeStamp;//时间差 if (diffValue < 0) { return result; } let yearC = diffValue / year; let minC = diffValue / minute; //计算时间差的分,时,天,周,月 let hourC = diffValue / hour; let dayC = diffValue / day; let weekC = diffValue / week; let monthC = diffValue / month; if (yearC >= 1) { result = "" + parseInt(yearC) + "年前"; } else if (monthC >= 1) { result = "" + parseInt(monthC) + "月前"; } else if (weekC >= 1) { result = "" + parseInt(weekC) + "周前"; } else if (dayC >= 1) { result = "" + parseInt(dayC) + "天前"; } else if (hourC >= 1) { result = "" + parseInt(hourC) + "小时前"; } else if (minC >= 1) { result = "" + parseInt(minC) + "分钟前"; } else result = "刚刚"; return result; },
错误记录(2)Error: error:0308010C:digital envelope routines::unsupported
分类: 前端
简介:报错原因:出现这个错误是因为 node.js版本问题解决方案:1、降级2、设置参数找到项目的package.json文件,把自己对应的命令,加上&&,写到启动项目的配置里面(构建写不写都可以),即可ps:win系统 "scripts": { "serve": "set NODE_OPTIONS= openssl legacy provider && vue cli service serve", "build": "set NODE_OPTIONS= openssl legacy provider && vue cli service build"
},
vue实现emoji表情包的编解码
分类: 前端
简介:创建一个emoji.js工具类 //把utf16的emoji表情字符进行转码成八进制的字符
export function utf16toEntities(str) { var patt = /[\ud800 \udbff][\udc00 \udfff]/g; // 检测utf16字符正则 return str.replace(patt, function (char) { var H, L, code; if (char.length === 2) { H = char.charCodeAt(0); // 取出高位 L = char.charCodeAt(1); // 取出低位 code = (H 0xD800) * 0x400 + 0x10000 + L 0xDC00; // 转换算法 return "&#" + code + ";"; } else { return char; } });
} //将编码后的八进制的emoji表情重新解码成十六进制的表情字符
export function entitiesToUtf16(str) { return str.replace(/&#(\d+);/g, function (match, dec) { let H = Math.floor((dec 0x10000) / 0x400) + 0xD800; let L = Math.floor(dec 0x10000) % 0x400 + 0xDC00; return String.fromCharCode(H, L); });
}在需要编解码的地方进行调用 import {utf16toEntities,entitiesToUtf16} from '@/utils/emoji' var a = utf16toEntities("表情包") var b = entitiesToUtf16(a)