当前位置: 首页 > news >正文

将时间转换为 `刚刚`、`几秒前`、`几分钟前`、`几小时前`、`几天前`、几月前或按照传入格式显示

    const formatPast = (date, type = "default", zeroFillFlag = true) => {// 定义countTime变量,用于存储计算后的数据let countTime;// 获取当前时间戳let time = new Date().getTime();// 转换传入参数为时间戳let afferentTime = new Date(date).getTime();// 当前时间戳 - 传入时间戳time = Number.parseInt(`${time - afferentTime}`);if (time < 10000) {// 10秒内return "刚刚";} else if (time < 60000) {// 超过10秒少于1分钟内countTime = Math.floor(time / 1000);return `${countTime}秒前`;} else if (time < 3600000) {// 超过1分钟少于1小时countTime = Math.floor(time / 60000);return `${countTime}分钟前`;} else if (time < 86400000) {// 超过1小时少于24小时countTime = Math.floor(time / 3600000);return `${countTime}小时前`;} else if (time >= 86400000 && type == "default") {// 超过二十四小时(一天)且格式参数为默认"default"countTime = Math.floor(time / 86400000);//大于等于365天if (countTime >= 365) {return `${Math.floor(countTime / 365)}年前`;}//大于等于30天if (countTime >= 30) {return `${Math.floor(countTime / 30)}个月前`;}return `${countTime}天前`;} else {// 一天(24小时)以上且格式不为"default"则按传入格式参数显示不同格式// 数字补零let Y = new Date(date).getFullYear();let M = new Date(date).getMonth() + 1;let zeroFillM = M > 9 ? M : "0" + M;let D = new Date(date).getDate();let zeroFillD = D > 9 ? D : "0" + D;// 传入格式为"-" "/" "."if (type == "-" || type == "/" || type == ".") {return zeroFillFlag? Y + type + zeroFillM + type + zeroFillD: Y + type + M + type + D;}// 传入格式为"年月日"if (type == "年月日") {return zeroFillFlag? Y + type[0] + zeroFillM + type[1] + zeroFillD + type[2]: Y + type[0] + M + type[1] + D + type[2];}// 传入格式为"月日"if (type == "月日") {return zeroFillFlag? zeroFillM + type[0] + zeroFillD + type[1]: M + type[0] + D + type[1]}// 传入格式为"年"if (type == "年") {return Y + type}}};console.log(formatPast("2024-1-1 11:11:11")); // 3天前console.log(formatPast("2023-11-1 11:11:11")); // 2个月前console.log(formatPast("2015-07-10 21:32:01")); // 8年前console.log(formatPast("2023-02-01 09:32:01", "-", false)); // 2023-2-1console.log(formatPast("2023.12.8 19:32:01", "/")); // 2023/12/08console.log(formatPast("2023.12.8 19:32:01", ".")); // 2023.12.08console.log(formatPast("2023/5/10 11:32:01", "年月日")); // 2023年05月10日console.log(formatPast("2023/6/25 11:32:01", "月日", false)); // 6月25日console.log(formatPast("2023/8/08 11:32:01", "年")); // 2023年

http://www.lryc.cn/news/312079.html

相关文章:

  • Oracle存储过程干货(二):PLSQL控制语句
  • 深入Gradle:初识构建自动化的魅力
  • cpp版ros2、opencv转换
  • 使用API接口竞品价格监控
  • Redis的BitMap的使用
  • 视频号带货究竟怎么做?老阳分享的项目怎么样?
  • AI智能分析网关V4智慧环保/智慧垃圾站视频智能分析与监控方案
  • vxe-table编辑单元格动态插槽slot的使用
  • 2024新鲜出炉阿里巴巴面试真题,如果不想35岁被淘汰这篇文章必看
  • 设计模式(含7大原则)面试题
  • claude3科普
  • 2024中国·北京预制菜产业博览会
  • 【Vue】vue3 在图片上渲染 OCR 识别后的文本框、可复制文本组件
  • Linux系统运维脚本:批量创建linux用户和密码(读取文件中的账号和密码来批量创建用户)
  • 重力坝廊道量水堰计与堰板安装技术指南
  • ButterKnife实现之Android注解处理器使用教程
  • 【哈希】Leetcode 128. 最长连续序列 【中等】
  • 回溯是怎么回事(算法村第十八关青铜挑战)
  • 向爬虫而生---Redis 探究篇5<Redis集群刨根问底(1)>
  • 系统集成Prometheus+Grafana
  • 实例驱动计算机网络
  • Unity 报错:SSL CA certificate error
  • 算法刷题Day1 | 704.二分查找、27.移除元素
  • 大数据技术学习笔记(五)—— MapReduce(2)
  • 北斗导航 | 同步双星故障的BDS/GPS接收机自主完好性监测算法
  • 2024金三银四必看前端面试题!简答版精品!
  • Python-sklearn.datasets-make_blobs
  • [最佳实践] conda环境内安装cuda 和 Mamba的安装
  • 【算法】顺时针打印矩阵(图文详解,代码详细注释
  • 蚂蚁感冒c++