注:页面需提前引用JQ

; $.fn.extend({
/*
** notes: 获取13位时间戳的简单操作
** new Date('2018-02-01 15:10:00').getTime() // Date类型使用getTime方法
** "/Date(1517469000000)/".substring(6,19) // C#后台返回的DateTime数据
*/
/*
** author:lttr <www.cnblogs.com/GoCircle>
** date:2018-02-01
** 对13位时间戳的扩展显示为【不久前,刚刚,N分钟前,N小时前,N天前,N周前,N月前,N年N月N日】的处理
** eg.
** $(1517469000000).commonTimeStamp(); // 1分钟前
*/
"commonTimeStamp": function () {
let selfTime = ((this.selector || $(this)[0]) + Array(13).join('0')).slice(0, 13) - 0, // 补全为13位 PHP时间戳为10位
oneselfDate = new Date(selfTime),
diffValue = new Date().getTime() - selfTime,
monthC = diffValue / 2592000000,// 月1000 * 60 * 60 * 24 * 30
weekC = diffValue / 604800000, // 周1000 * 60 * 60 * 24 * 7
dayC = diffValue / 86400000, // 天1000 * 60 * 60 * 24
hourC = diffValue / 3600000, // 时1000 * 60 * 60
minC = diffValue / 60000; // 分1000 * 60
return diffValue < 0 ? '不久前' :// 如果本地时间反而小于变量时间
monthC > 12 ? (oneselfDate.getFullYear() + '年' + Array(2 - ('' + oneselfDate.getMonth() + 1).length + 1).join(0) + (oneselfDate.getMonth() + 1) + '月' + Array(2 - ('' + oneselfDate.getDate()).length + 1).join(0) + oneselfDate.getDate() + '日') : // 超过1年,直接显示年月日
monthC >= 1 ? (parseInt(monthC) + '月前') :
weekC >= 1 ? (parseInt(weekC) + '周前') :
dayC >= 1 ? (parseInt(dayC) + '天前') :
hourC >= 1 ? (parseInt(hourC) + '小时前') :
minC >= 1 ? (parseInt(minC) + '分钟前') : '刚刚';
},
/*
** author:lttr <www.cnblogs.com/GoCircle>
** date:2018-10-22
** 对13位时间戳的扩展显示为【今天 上午N:N,昨天 上午N:N,上午N:N】的处理
** eg.
** $(1517469000000).specificTimeStamp(); // 下午15:10
*/
"specificTimeStamp": function () {
let oneselfTime = new Date('2018-10-21 00:00:00').getTime(), // 补全为13位 PHP时间戳为10位
parTime = new Date(oneselfTime),
diffDay = parseInt((new Date().getTime() - oneselfTime) / 86400000);// 天1000 * 60 * 60 * 24
return (diffDay == 1 ? "昨天 " : diffDay == 0 ? "今天 " : "") +
((parTime.getHours() / 12 > 1 ? "下午" : "上午") +
Array(2 - ('' + parTime.getHours()).length + 1).join(0) + parTime.getHours() + ":" +
Array(2 - ('' + parTime.getMinutes()).length + 1).join(0) + parTime.getMinutes());
},
/*
** author:lttr <www.cnblogs.com/GoCircle>
** date:2018-02-01
** 对13位时间戳的扩展,将时间转化为指定格式的String
** 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
** 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符
** eg.
** $(1517469000000).timeFormat("yyyy-MM-dd hh:mm:ss.f"); // 2018-02-01 15:10:00.0
*/
"timeFormat": function (fmt) {
let selfTime = new Date(((this.selector || $(this)[0]) + Array(13).join('0')).slice(0, 13) - 0), // 补全为13位 PHP时间戳为10位
o = {
"q+": Math.floor((selfTime.getMonth() + 3) / 3), //季度
"M+": selfTime.getMonth() + 1, //月份
"d+": selfTime.getDate(), //日
"h+": selfTime.getHours(), //小时
"m+": selfTime.getMinutes(), //分
"s+": selfTime.getSeconds(), //秒
"f": selfTime.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (selfTime.getFullYear() + "").substr(4 - RegExp.$1.length));
for (let 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;
}
});

js jq插件 显示中文时间戳 刚刚 N分钟前 N小时前 今天 上午 下午 日期格式化的更多相关文章

  1. js前台页面显示中文,后台存对应的value值实现

    field: 'rightType', title: '权益类型', //width: 100, align: 'left', valign: 'top', sortable: true, forma ...

  2. php根据时间显示刚刚,几分钟前,几小时前的实现代码

    发布时间距现在的时间 function tranTime($time) { $rtime = date("m-d H:i", $time); $htime = date(" ...

  3. js 转化为几天前,几小时前,几分钟前...

    转换标准时间为时间戳: function getDateTimeStamp(dateStr){ return Date.parse(dateStr.replace(/-/gi,"/" ...

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

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

  5. js时间对比-转化为几天前,几小时前,几分钟前

    function getDateDiff(dateTimeStamp){ var minute = 1000 * 60; var hour = minute * 60; var day = hour ...

  6. 用javascript写一个显示时间差 几分钟前 几小时前 几天前 几周前 大于一个月显示日期

    window.onload = function(){ var show_times = $(".times span"); for(var i=0;i<show_times ...

  7. ****timeago.js插件:jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例

    前端 时间个性化 插件 jquery.timeago.js 关键词 : 时间格式化 刚刚 N分钟前 N小时前 N天前 N月前 N年前 MM-dd hh:mm  或者  yyyy-MM-dd 前端: & ...

  8. PHP比较全的友好的时间显示,比如‘刚刚’,'几秒前'等

    分享一个php友好的比较完成的时间格式化函数,包括‘刚刚’,'几秒之前',‘几分钟前’,'几小时前',几天前,几周前,几个月前等.调用方式很简单,是从ThinkSNS 里面拿出来的. /** * 友好 ...

  9. javascript Date 日期格式化 formatDate, require.js 模块 支持全局js引入 / amd方式加载

    * 引入AMD加载方式: require.js CDN https://cdn.bootcss.com/require.js/2.3.5/require.js *  创建模块文件./js/util/d ...

随机推荐

  1. C#之WCF入门1—简单的wcf例子

    第一步:创建一个空的解决方案,新建一个WCF服务应用程序项目(使用默认名字) 来模拟服务端,新建一个控制台应用程序项目(名称改为 ConsoleApp)来模拟客户端. 第二步:简单分析WcfServi ...

  2. 3ds Max学习日记(五)

      把实验室要用的小工具做了出来后,忙里偷闲,把第四章没看完的视频看完了.修改器(modifier)什么的还是挺好玩的.   FFD,车削,倒角,倒角剖面,对称,挤出,晶格,扭曲,融化,弯曲,网格平滑 ...

  3. 修改QQ各版本的默认保存位置(聊天记录)

    这几天没少折腾windows,都有点烦了,我是那种有强迫症的,只要知道的自己没有做到的会感觉到浑身不爽的因为系统重装了好几次,QQ也没少安装几次,我使用的是TM的QQ(没有 那么多烦人的广告,娱乐组件 ...

  4. 解决编写 xml 没有代码提示

    有时候在编写 struts.xml 会没有代码提示,一般是因为没有联网导致的,或者之前配置过 dtd 文件 url,但是文件路径之后被修改了. 解决方案有: 让电脑联网 修改 dtd 的本地路径以及 ...

  5. mysql(三) 慢查询分析(二)

    在一般的查询中,都要求尽量围绕创建的索引进行.针对索引,常用的有主键索引,单列索引,组合索引,索引合并等. 在评价索引时,关键看区分度.索引区分度=索引列唯一值/表记录数. 如果在区分度很低的列上建索 ...

  6. apiDoc 入门

    网站 http://apidocjs.com/#demo Install npm install apidoc -g Run apidoc -i myapp/ -o apidoc/ -t mytemp ...

  7. hdu 1142 A Walk Through the Forest (最短路径)

    A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  8. javascript标准对象与包装对象

    javascript标准对象与包装对象 标准对象 在JavaScript的世界里,一切都是对象. 但是某些对象还是和其他对象不太一样.为了区分对象的类型,我们用typeof操作符获取对象的类型,它总是 ...

  9. BZOJ4009 & 洛谷3242 & LOJ2113:[HNOI2015]接水果——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4009 https://www.luogu.org/problemnew/show/P3242 ht ...

  10. HDU3652:B-number——题解

    http://acm.hdu.edu.cn/showproblem.php?pid=3652 题目大意:给一个数n,求1-n所有满足下列条件的数的个数: 1.包含一个子串为“13” 2.能被13整除. ...