封装时间工具类刚刚,几分钟前,几小时前,昨天,日期

20 篇文章 0 订阅
10 篇文章 0 订阅

项目中的需求之后写的一个时间封装

在这里插入图片描述
效果图:
几小时前
在这里插入图片描述
日期显示
在这里插入图片描述
实现步骤

步骤1:把这个js封装在工具util中 我命名为 date.js

export function formatMsgTime (timespan) {
	// 因为我接口得到的数据是 日期的格式,所有先转为了时间戳
    // 2021-01-28 18:34:28 改为时间戳
    let thisTime = timespan;
    thisTime = thisTime.replace(/-/g, '/');
    let time = new Date(thisTime);
    time = time.getTime();  // 此时的time就是为时间戳格式
	
    var dateTime = new Date(time) // 将传进来的字符串或者毫秒转为标准时间
    var year = dateTime.getFullYear()
    var month = dateTime.getMonth() + 1
    var day = dateTime.getDate()
    var hour = dateTime.getHours()
    var minute = dateTime.getMinutes()
    // var second = dateTime.getSeconds()
    var millisecond = dateTime.getTime() // 将当前编辑的时间转换为毫秒
    var now = new Date() // 获取本机当前的时间
    var nowNew = now.getTime() // 将本机的时间转换为毫秒
    var milliseconds = 0
    var timeSpanStr
    milliseconds = nowNew - millisecond
    if (milliseconds <= 1000 * 60 * 1) { // 小于一分钟展示为刚刚
      timeSpanStr = '刚刚'
    } else if (1000 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60) { // 大于一分钟小于一小时展示为分钟
      timeSpanStr = Math.round((milliseconds / (1000 * 60))) + '分钟前'
    } else if (1000 * 60 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24) { // 大于一小时小于一天展示为小时
      timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60)) + '小时前'
    } else if (1000 * 60 * 60 * 24 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24 * 3) { // 大于一天小于等于三天展示位天
      timeSpanStr =  '昨天' + hour + ':' + minute // 第二天,显示昨天 xx:xx
    } else {  // 显示 2021.10.29 14:00
      timeSpanStr = year + '.' + month + '.' + day + ' ' + hour + ':' + minute
    }
    return timeSpanStr
  }

步骤2:页面引入

import * as formatMsg from '@/util/date';

步骤3:可能在多个位置使用 写成一个方法

getday(date){
      return formatMsg.formatMsgTime(date)
    }

步骤4:在需要的页面写这个方法

<p class="date_time">{{ getday(item.createTime) }}</p>

好了,这就是我效果的代码,希望能帮助到你们,加油

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值