直播网站源码,vue工具类,时间格式化

直播网站源码,vue工具类,时间格式化

最近做uniapp经常用到时间格式化,需要转为刚刚、几分钟前等字符串格式,自己根据需求整理了一个工具类

 

效果说明:时间转字符串格式,时间戳转字符串(如刚刚、几分钟前、几小时前)

 

1
<br>timeFrom(1670894134) ==> 5分钟前<br>dateformat("yyyy-MM-dd hh:mm:ss.S") ==> 2023-02-09 08:09:04.423<br>dateformat("yyyy-M-d h:m:s.S") ==> 2023-2-9 8:9:4.18<br>dateformat("E") ==> 四<br>dateformat("EE") ==> 周四<br>dateformat("EEE") ==> 星期四<br>timeFromTool.js<br>export function timeFrom(timestamp = null, format = null) {<br>    if (!!format) {<br>        return timestampformat(timestamp, format);<br>    }<br>    if (timestamp == null) timestamp = Number(new Date())<br>    timestamp = parseInt(timestamp)<br>    // 毫秒(13位),秒(10位)<br>    if (timestamp.toString().length == 10) timestamp *= 1000<br>    let timer = (new Date()).getTime() - timestamp<br>    timer = parseInt(timer / 1000)<br>    // 如果小于5分钟,则返回"刚刚",其他以此类推<br>    let tips = ''<br>    switch (true) {<br>        case timer < 300:<br>            tips = '刚刚'<br>            break<br>        case timer >= 300 && timer < 3600:<br>            tips = `${parseInt(timer / 60)}分钟前`<br>            break<br>        case timer >= 3600 && timer < 86400:<br>            tips = `${parseInt(timer / 3600)}小时前`<br>            break<br>        case timer >= 86400 && timer < 2592000:<br>            tips = `${parseInt(timer / 86400)}天前`<br>            break<br>        case timer >= 2592000 && timer < 365 * 86400:<br>            tips = `${parseInt(timer / (86400 * 30))}个月前`<br>            break<br>        default:<br>            tips = timestampformat(timestamp, format);<br>    }<br>    return tips<br>}<br>//时间戳转时间字符串<br>export function timestampformat(timestamp = null, format = "yyyy-MM-dd hh:mm:ss") {<br>    if (timestamp == null) timestamp = Number(new Date())<br>    timestamp = parseInt(timestamp)<br>    // 判断用户输入的时间戳是秒还是毫秒,一般前端js获取的时间戳是毫秒(13位),后端传过来的为秒(10位)<br>    if (timestamp.toString().length == 10) timestamp *= 1000<br>    let date = new Date(timestamp + '+0800');<br>    return dateformat(format,date);<br>}<br>// 对Date的扩展,将 Date 转化为指定格式的String<br>// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, <br>// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) <br>// 星期(E)可以用 1-3 个占位符,如 <br>// dateformat("yyyy-MM-dd hh:mm:ss.S") ==> 2023-02-09 08:09:04.423 <br>// dateformat("yyyy-M-d h:m:s.S")      ==> 2023-2-9 8:9:4.18 <br>// dateformat("E")      ==> 四 <br>// dateformat("EE")      ==> 周四 <br>// dateformat("EEE")      ==> 星期四 <br>export function dateformat( format = "yyyy-MM-dd hh:mm:ss",date = new Date()) {<br>var o = {<br>        "M+": date.getMonth() + 1, //月<br>        "d+": date.getDate(), //天<br>        "H+": date.getHours(), //时(24小时制)<br>        "h+": date.getHours() % 12 == 0 ? date.getHours() : date.getHours() % 12, //时(12小时制)<br>        "m+": date.getMinutes(), //分<br>        "s+": date.getSeconds(), //秒<br>        "q+": Math.floor((date.getMonth() + 3) / 3), //季度<br>        "S": date.getMilliseconds() //毫秒<br>    }<br>    var week = {<br>        "0": "日",<br>        "1": "一",<br>        "2": "二",<br>        "3": "三",<br>        "4": "四",<br>        "5": "五",<br>        "6": "六"<br>    };<br> <br>    if (/(y+)/.test(format)) {<br>        format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));<br>    }<br>    if (/(E+)/.test(format)) {<br>        format = format.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "星期" : "周") : "") + week[<br>            date.getDay() + ""]);<br>    }<br> <br>    for (var k in o) {<br>        if (new RegExp("(" + k + ")").test(format)) {<br>            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));<br>        }<br>    }<br> <br>    return format;<br>}

 以上就是直播网站源码,vue工具类,时间格式化, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-03-08 短视频直播系统,选择选项时,点击出现下拉框
2022-03-08 手机直播源码,验证码自动读秒倒计时
2022-03-08 直播软件搭建,通过Android DrawerLayout实现侧边栏功能
点击右上角即可分享
微信分享提示