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

// 时间格式(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. Open vSwitch(OVS)版本与Linux内核的关系
  2. Redis 创始人宣布退居二线:我写代码只是为了表达自己!
  3. 计算机考试函数应用题及答案,计算机等级考试题库,二级C++试题及答案
  4. Java有线程安全的set吗?
  5. leetcode 10、Regular Expression Matching
  6. C++经典面试题(最全,面中率最高)
  7. Java Signal实例
  8. linux下找不到libc 库,Linux-覆盖libc open()库函数
  9. 写给开发者——从比特币脚本引擎到以太坊虚拟机
  10. Alfred Remote初体验
  11. 备考新手指南--QA手册
  12. Linux 系统查看网卡配置信息
  13. SIM-MICRO-SIM- NANO SIM 区别
  14. 自学SpringBoot二之配置文件--yml格式配置
  15. Linux 程序 动态库 静态库依赖关系
  16. 利用维基百科挖掘概念之间的先决条件关系(初探)
  17. 快光慢光的产生原理及群速度相速度的定义
  18. tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/re处理
  19. Linux Kernel Atomic解析
  20. oracle 抽样_利用ORACLE实现数据抽样

热门文章

  1. 有关inflater.inflate函数的总结笔记
  2. ioctl()函数简单用法
  3. debian ssh登录root
  4. java Collection 中 containsAll 与 retainAll 的区别
  5. java实现树的深度优先遍历和广度优先遍历
  6. 使用msfconsole常见问题解决
  7. TCP和UDP 总结
  8. 2022.6.4最长公共子串
  9. python读取文件中的数据
  10. 人工智能之超分辨率算法详解