将时间转化为“刚刚,几分钟前,几小时前,具体日期”
在写移动端的项目时,有个需求是,需要将后端返回的时间显示为“刚刚”,“几分钟前”。。。这种形式,写了个过滤器,记录在此:
// 时间格式(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的不兼容问题
将时间转化为“刚刚,几分钟前,几小时前,具体日期”相关推荐
- 微信小程序-将时间转换成几秒前 几分钟前 几小时前 几天前等时间格式
描述: 显示消息时间为 几天前 几小时前 几分钟前:同时一年以上的日期直接显示YYY:MM:DD形式 效果: 方法实现: 可以在utils目录下建一个存放公共方法的文件,将getDateDiff方法放 ...
- PHP人性化时间显示,实现多少秒前,多少分钟前,多少小时前
现在很多网站的时间显示都很人性化,不再是单纯的年月日时分秒,而是根据数据更新的时间与当前时间进行比较,实现多少秒前,多少分钟前,多少小时前! //人性化时间显示 function formatTime ...
- 买进最佳时间:开盘后15分钟与闭市前15分钟
这个时间段一般都会大涨大跌. 一.买进最佳时间:开盘后15分钟与闭市前15分钟. 开盘前,主力经过研究国际国内最新经济信息和国外期货.股市的运行情况,将对大势有一个综合判断,然后做出所运作股票的计划, ...
- 使用day.js让时间 (显示为几分钟前 几小时前 几天前 几个月前 )
效果图 代码 utils.ts 通过引入utils.ts import dayjs from 'dayjs'; import 'dayjs/locale/zh-cn'; import relative ...
- php 小时时间戳,PHP时间戳函数(几分钟、几小时前、几天前等)
时间戳是我们在时间日期对比时常用到一个小功能,下面我先来给各位介绍strtotime时间戳转换的一些方法与利用它来做一个日期格式化的几分钟.几小时前.几天前的一个实例. 1.PHP时间戳函数将日期转化 ...
- PHP CodeBase: 将时间显示为“刚刚”“n分钟/小时前”等
为什么80%的码农都做不了架构师?>>> 在很多场合为了显示出信息的及时性,一般会将时间显示成"刚刚","5分钟前","3小时 ...
- JS 时间转化为几分钟前 几小时前 几天前
背景:最近公司要做动态列表,类似于微信朋友圈.动态创建时间就需要显示为 刚刚.几分钟前.几小时前.几天前.2018-05-15,这样的形式. 代码如下 var minute = 1000 * 60;v ...
- php+判断时间是昨天,用php判断时间戳来输出刚刚,分钟前,小时前昨天和时间...
function T($time) { //获取今天凌晨的时间戳 $day = strtotime(date('Y-m-d',time())); //获取昨天凌晨的时间戳 $pday = strtot ...
- php 明天凌晨,用php判断时间戳来输出刚刚,分钟前,小时前昨天和时间
function T($time) { //获取今天凌晨的时间戳 $day = strtotime(date('Y-m-d',time())); //获取昨天凌晨的时间戳 $pday = strtot ...
- java 几分钟前几小时前几天前后转化为时间
网上很多时间,转几天前后的,来一个反转的 /* * * 获取当前时间之前或之后几小时 hour * * */ public static St ...
最新文章
- 数据库分表时OR Mapping方法
- 【微信小程序企业级开发教程】页面的生命周期和参数传递
- linux小工具(2)终端记录器script命令
- 13.深度学习练习:Autonomous driving - Car detection(YOLO实战)
- word2016开机后首次打开非常慢_5款iPhone实测 iOS 13.4.1运行速度:升级后表现更糟糕?...
- 101 Symmetric Tree
- sed 多行替换,多行模式处理字符串;一次替换
- java fx choicebox_JavaFX使用ChoiceBox、ComboBox实现下拉列表
- 一线实践 | 借助混沌工程工具 ChaosBlade 构建高可用的分布式系统
- oracle 脚本怎么写,wincc与 oracle 数据通讯脚本如何写-工业支持中心-西门子中国...
- 利用PLTS对F域测试数据做“AFR”指南
- Opencv2与Opencv4共存
- Chrome扩展之书签
- Apache Kafka SAP
- 计算机及软件工程专业基础综合,2019年东华大学854计算机及软件工程专业基础综合考研初试大纲...
- Windows图标-Icon文件格式分析。
- 独立主机配置FTP,解析域名经历
- 【Excel】在单元格中插入换行符
- eps提取高程点在哪里_只需一个命令,就能提取CAD图纸所有高程点坐标,感觉学费白交了...
- CYCA 2022少儿形体礼仪初级师资班 深圳总部站圆满结束