js jq插件 显示中文时间戳 刚刚 N分钟前 N小时前 今天 上午 下午 日期格式化
注:页面需提前引用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小时前 今天 上午 下午 日期格式化的更多相关文章
- js前台页面显示中文,后台存对应的value值实现
		field: 'rightType', title: '权益类型', //width: 100, align: 'left', valign: 'top', sortable: true, forma ... 
- php根据时间显示刚刚,几分钟前,几小时前的实现代码
		发布时间距现在的时间 function tranTime($time) { $rtime = date("m-d H:i", $time); $htime = date(" ... 
- js 转化为几天前,几小时前,几分钟前...
		转换标准时间为时间戳: function getDateTimeStamp(dateStr){ return Date.parse(dateStr.replace(/-/gi,"/" ... 
- JS 时间转化为几分钟前 几小时前 几天前
		背景:最近公司要做动态列表,类似于微信朋友圈.动态创建时间就需要显示为 刚刚.几分钟前.几小时前.几天前.2018-05-15,这样的形式. 代码如下 var minute = 1000 * 60; ... 
- js时间对比-转化为几天前,几小时前,几分钟前
		function getDateDiff(dateTimeStamp){ var minute = 1000 * 60; var hour = minute * 60; var day = hour ... 
- 用javascript写一个显示时间差  几分钟前 几小时前 几天前  几周前 大于一个月显示日期
		window.onload = function(){ var show_times = $(".times span"); for(var i=0;i<show_times ... 
- ****timeago.js插件:jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例
		前端 时间个性化 插件 jquery.timeago.js 关键词 : 时间格式化 刚刚 N分钟前 N小时前 N天前 N月前 N年前 MM-dd hh:mm 或者 yyyy-MM-dd 前端: & ... 
- PHP比较全的友好的时间显示,比如‘刚刚’,'几秒前'等
		分享一个php友好的比较完成的时间格式化函数,包括‘刚刚’,'几秒之前',‘几分钟前’,'几小时前',几天前,几周前,几个月前等.调用方式很简单,是从ThinkSNS 里面拿出来的. /** * 友好 ... 
- 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 ... 
随机推荐
- 结对作业二——WordCount进阶版
			软工作业三 要求地址 作业要求地址 结对码云项目地址 结对伙伴:秦玉 博客地址 PSP表格 PSP2.1 个人开发流程 预估耗费时间(分钟) 实际耗费时间(分钟) Planning 计划 10 7 · ... 
- python爬虫 ---  简书评论
			某些网站的一些数据是通过js加载的 ,所以爬取下来的数据拿不到, 找到评论的地址 .进行请求获取评论数据 #coding=utf-8 import json import requests def r ... 
- 【Linux】- CentOS 防火墙iptables和firewall
			1 iptables防火墙 1.1 基本操作 # 查看防火墙状态 service iptables status # 停止防火墙 service iptables stop # 启动防火墙 s ... 
- sublime text 输入法不跟随光标
			1.引子 sublime text 有个BUG,那就是不支持中文的鼠标跟随(和PS类似输入的光标和文字候选框不在一起).如下图: 2.插件 安装IMESupport插件即可插件,这款插件是日本人写的. ... 
- Android基础------Intent组件
			1.什么是intent 同Activity一样,也是Android应用组件在Android中承担着一种指令输出的作用Intent负责对应用中一次操作的动作及动作相关的数据进行描述.Android则根据 ... 
- 推荐算法相关总结表(包括DM)
			推荐算法总结表 表1 推荐算法分类 个性化推荐算法分类 启发式算法 基于模型 基于内容 TF-IDF 聚类 最大熵 相似度度量 贝叶斯分类 决策树 神经网络 专家系统 知识推理 协同过滤 K近邻 聚类 ... 
- Oracle 分页、取期间数据、TOP前几
			Oracle没有 sqlserver的 top number 功能.只能以期间的形式实现 代码实现分页,参数curPage 当前页.pageSize 每页行数,计算出起始结束页码 int startP ... 
- Android Appliction 使用解析
			Application Base class for those who need to maintain global application state. You can provide your ... 
- 1 Easy Read/Write Splitting with PHP’s MySQLnd
			以下均是使用翻译软件翻译的! Note: This is part one in our Extending MySQL with PHP's MySQLnd Series, read part 2 ... 
- TYVJ2032 升降梯上
			Description: 开启了升降梯的动力之后,探险队员们进入了升降梯运行的那条竖直的隧道,映入眼帘的是一条直通塔顶的轨道.一辆停在轨道底部的电梯.和电梯内一杆控制电梯升降的巨大手柄.Nescafe ... 
