在写移动端的项目时,有个需求是,需要将后端返回的时间显示为“刚刚”,“几分钟前”。。。这种形式,写了个过滤器,记录在此:

// 时间格式(2021-07-02 12:12:12) 显示为几分钟前,几小时前等
Vue.filter('timeChange', function (value) {// 拿到当前时间戳和发布时的时间戳var curTime = new Date()var postTime = new Date(value)//计算差值var timeDiff = curTime.getTime() - postTime.getTime()// 单位换算var min = 60 * 1000var hour = min * 60var day = hour * 24// 计算发布时间距离当前时间的 天、时、分var exceedDay = Math.floor(timeDiff / day)var exceedHour = Math.floor(timeDiff / hour)var exceedMin = Math.floor(timeDiff / min)// 最后判断时间差if (exceedDay > 0) {return parseTime(value, '{y}{m}{d}')} else {if (exceedHour < 24 && exceedHour > 0) {return exceedHour + '小时前'} else if (exceedMin < 60 && exceedMin > 0) {return exceedMin + '分钟前'} else {return '刚刚'}}
})

看起来挺好,但是存在一个bug:

在安卓中运行完好,没问题,但是在ios中就出错了,最后发现,ios对于“2021-07-05” 这种格式不兼容,必须是这种“2021/07/05”,所以又写了个方法用作转换

toTimeStamp = (time) => {if (!time) return 0if (typeof time === 'string') {return new Date(time.replace(/-/g, '/')).getTime()} else {if (time.toString().length === 10) return new Date(time * 1000).getTime()else return new Date(time).getTime()}
}

此方法最后返回的是一个时间戳。
最后解决ios的不兼容问题

将时间转化为“刚刚,几分钟前,几小时前,具体日期”相关推荐

  1. 微信小程序-将时间转换成几秒前 几分钟前 几小时前 几天前等时间格式

    描述: 显示消息时间为 几天前 几小时前 几分钟前:同时一年以上的日期直接显示YYY:MM:DD形式 效果: 方法实现: 可以在utils目录下建一个存放公共方法的文件,将getDateDiff方法放 ...

  2. PHP人性化时间显示,实现多少秒前,多少分钟前,多少小时前

    现在很多网站的时间显示都很人性化,不再是单纯的年月日时分秒,而是根据数据更新的时间与当前时间进行比较,实现多少秒前,多少分钟前,多少小时前! //人性化时间显示 function formatTime ...

  3. 买进最佳时间:开盘后15分钟与闭市前15分钟

    这个时间段一般都会大涨大跌. 一.买进最佳时间:开盘后15分钟与闭市前15分钟. 开盘前,主力经过研究国际国内最新经济信息和国外期货.股市的运行情况,将对大势有一个综合判断,然后做出所运作股票的计划, ...

  4. 使用day.js让时间 (显示为几分钟前 几小时前 几天前 几个月前 )

    效果图 代码 utils.ts 通过引入utils.ts import dayjs from 'dayjs'; import 'dayjs/locale/zh-cn'; import relative ...

  5. php 小时时间戳,PHP时间戳函数(几分钟、几小时前、几天前等)

    时间戳是我们在时间日期对比时常用到一个小功能,下面我先来给各位介绍strtotime时间戳转换的一些方法与利用它来做一个日期格式化的几分钟.几小时前.几天前的一个实例. 1.PHP时间戳函数将日期转化 ...

  6. PHP CodeBase: 将时间显示为“刚刚”“n分钟/小时前”等

    为什么80%的码农都做不了架构师?>>>    在很多场合为了显示出信息的及时性,一般会将时间显示成"刚刚","5分钟前","3小时 ...

  7. JS 时间转化为几分钟前 几小时前 几天前

    背景:最近公司要做动态列表,类似于微信朋友圈.动态创建时间就需要显示为 刚刚.几分钟前.几小时前.几天前.2018-05-15,这样的形式. 代码如下 var minute = 1000 * 60;v ...

  8. php+判断时间是昨天,用php判断时间戳来输出刚刚,分钟前,小时前昨天和时间...

    function T($time) { //获取今天凌晨的时间戳 $day = strtotime(date('Y-m-d',time())); //获取昨天凌晨的时间戳 $pday = strtot ...

  9. php 明天凌晨,用php判断时间戳来输出刚刚,分钟前,小时前昨天和时间

    function T($time) { //获取今天凌晨的时间戳 $day = strtotime(date('Y-m-d',time())); //获取昨天凌晨的时间戳 $pday = strtot ...

  10. java 几分钟前几小时前几天前后转化为时间

    网上很多时间,转几天前后的,来一个反转的 /*      *      * 获取当前时间之前或之后几小时 hour      *      *      */     public static St ...

最新文章

  1. CF990G GCD Counting(树上莫比乌斯反演,分层图,并查集)
  2. 高并发场景下,到底先更新缓存还是先更新数据库?
  3. 杂谈 | 微软复兴,它与苹果竟有这么多相似之处!
  4. 如何修改Exchange邮件报警信息
  5. YOLO项目复活!大神接过衣钵,YOLO之父隐退2月后,v4版正式发布,性能大幅提升...
  6. 删除MSI包垃圾信息工具
  7. 54.什么是页面?什么是块或物理块?
  8. openstack-mitaka之Telemetry服务(controller安装部署二)
  9. MySQL中如何创建表与删除表
  10. 网易云信国际短信上线啦!
  11. WPF不同线程之间的控件的访问
  12. asp.net core源码飘香:Configuration组件
  13. 开箱即用的 Prometheus 告警规则集
  14. IK Analyzer 中文分词器
  15. 提高专业技能之 “完整DataSheet”
  16. 迅捷PDF转换器特点和使用步骤
  17. 首信易支付 php,ZenCart首信易支付模块递交失败解决
  18. 浏览器设置阻止第三方Cookie保护自己隐私
  19. ips细胞再生视网膜研究进展
  20. 初遇项目网络平台架构设计方案

热门文章

  1. 关于C++类模板template<typename T>的使用
  2. GMap 自定义绘图
  3. * daemon not running; starting now at tcp:5037 adb: CreateProcessW failed:
  4. opencv 中的透视变换及其应用举例
  5. 最大流与最小费用最大流简略版)
  6. Gitlab-ci实现CICD
  7. Spring Session + Redis实现Session共享
  8. vue3 + quasar 弹窗的几种方式
  9. c++ vector初始化易混淆的地方
  10. 2018年阿里云运维工程师面试题