jq 根据返回的时间判断昨天、今天
2017-09-21 11:28
323 查看
最近开发的项目是关于社交类的,其中有一个功能是发表动态,我运用layui中的layedit去创建简单的编辑器,上传图片是根据base64和后台对接。
其中,动态列表通过ajax请求,后台返回的时间是时间戳格式,需求是:今天和昨天发表的说说或者评论要显示今天或者昨天,其他时间点就显示正常的时间点即可。
先上图
![](https://img-blog.csdn.net/20170921111333649?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb25pb24xMjE4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
上网查了挺多资料很多都不准确,后来自己根据需求结合网上的部分代码写了一个函数,写在公共文件中。
设置时间格式
定义函数,参事是已转换为时间格式的时间(例:2017-09-21 12:00:00),返回今天或者昨天或者正常时间
时间戳转换成时间
运用
其中,动态列表通过ajax请求,后台返回的时间是时间戳格式,需求是:今天和昨天发表的说说或者评论要显示今天或者昨天,其他时间点就显示正常的时间点即可。
先上图
上网查了挺多资料很多都不准确,后来自己根据需求结合网上的部分代码写了一个函数,写在公共文件中。
设置时间格式
/** *对Date的扩展,将 Date 转化为指定格式的String *月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, *年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) *例子: *(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 *(new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 */ Date.prototype.format = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; };
定义函数,参事是已转换为时间格式的时间(例:2017-09-21 12:00:00),返回今天或者昨天或者正常时间
function judgeDate(oldDate) { // 判断是否是今天还是昨天,在项目中用于说说时的时间显示 //昨天的时间 var day1 = new Date(); day1.setDate(day1.getDate() - 1); var yesterday = day1.format("yyyy-MM-dd"); //今天的时间 var day2 = new Date(); day2.setTime(day2.getTime()); var today = day2.format("yyyy-MM-dd"); if(oldDate.split(" ")[0] == today){ return "今天 "+oldDate.split(" ")[1]; }else if(oldDate.split(" ")[0] == yesterday){ return "昨天 "+oldDate.split(" ")[1]; }else{ return oldDate; } }
时间戳转换成时间
function ge_time_format(timestamp) { if (timestamp) { var date = new Date(timestamp); } else { var date = new Date(); } Y = date.getFullYear(), m = date.getMonth() + 1, d = date.getDate(), H = date.getHours(), i = date.getMinutes(), s = date.getSeconds(); if (m < 10) { m = '0' + m; } if (d < 10) { d = '0' + d; } if (H < 10) { H = '0' + H; } if (i < 10) { i = '0' + i; } if (s < 10) { s = '0' + s; } var t = Y + '-' + m + '-' + d + ' ' + H + ':' + i + ':' + s; return t; }
运用
judgeDate(ge_time_format(result[i].time))
相关文章推荐
- NSDate的一个分类,判断是否是今天,昨天,今年,获得与当前时间的差距,返回一个只有年月日的日期
- js 根据已知的时间,判断是否是今天,明天,昨天,后天
- 庭审管理中动态显示今天起7日内的数据,动态查询,并根据已有数据判断新增和修改时的时间冲突问题(2)
- iOS-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)
- java根据日期判断 前天,昨天,今天,明天,后天.
- Android 判断获取的时间是否是今天、昨天
- php根据时间戳获取今天,昨天,周几,几月几号的时间形式
- NSTimeInterval时间戳对比判断 昨天、今天
- ios 时间操作 根据当前时间 获取昨天 今天 明天
- 判断是否为今年、是否为今天、是否为昨天,比较当前时间和from时间的差值
- java判断时点所在时间(昨天,今天,前天)
- iOS-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)
- IOS判断日期是今天,昨天还是明天,时间戳转时间,时间转时间戳
- iOS 判断时间(昨天,今天,明天)
- 根据输入时间日期返回时间、昨天、本周几、具体日期 类似于微信朋友圈时间 (oracle)
- 返回今天或者昨天或者前天这样情况的时间
- iOS - NSDate分类-判断时间是否为今天,昨天,一周内,年月日
- 判断是否为今年、是否为今天、是否为昨天,比较当前时间和from时间的差值
- php根据时间显示刚刚,几分钟前,今天,昨天的实现代码
- 庭审管理中动态显示今天起7日内的数据,动态查询,并根据已有数据判断新增和修改时的时间冲突问题