• 前端 时间个性化 插件 jquery.timeago.js


    关键词 :

    时间格式化 刚刚 N分钟前 N小时前 N天前 N月前 N年前 

    MM-dd hh:mm  或者  yyyy-MM-dd

    前端: 

    <span class="time" title="2016-07-23 12:02:32"></span>
    

      

    用法:

     $(".time").timeago();

    插件: jquery.timeago.js

    !function (t) {
        function e(e) {
            var n = t.extend(o.settings, e)
              , s = t.proxy(r, this);
            s(),
            n.refreshMillis > 0 && setInterval(s, n.refreshMillis)
        }
        function r() {
            var e = n(this)
              , r = e.datetime;
            return isNaN(r) || t(this).text(o.inWords(r)),
            this
        }
        function n(e) {
            return e = t(e),
            e.data("timeago") || e.data("timeago", {
                datetime: o.datetime(e)
            }),
            e.data("timeago")
        }
        function s(t) {
            return (new Date).getTime() - t.getTime()
        }
        function i(t) {
            var e = new Date;
            return e.getMonth() > t.getMonth() || e.getDate() > t.getDate()
        }
        function a(t) {
            return (new Date).getFullYear() > t.getFullYear()
        }
        Date.prototype.format = function (t) {
            var e = {
                "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()
            };
            /(y+)/.test(t) && (t = t.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)));
            for (var r in e)
                new RegExp("(" + r + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? e[r] : ("00" + e[r]).substr(("" + e[r]).length)));
            return t
        }
        ;
        var o = {
            settings: {
                refreshMillis: 6e4,
                relative: !0,
                strings: {
                    suffixAgo: "前",
                    seconds: "刚刚",
                    minute: "1分钟",
                    minutes: "%d分钟",
                    hour: "1小时",
                    hours: "%d小时",
                    days: "%d天",
                    months: "%d月",
                    years: "%d年",
                    numbers: []
                },
                yearsAgoFormat: "yyyy-MM-dd",
                daysAgoFormat: "MM-dd hh:mm"
            },
            inWords: function (e) {
                function r(e, r) {
                    var n = t.isFunction(e) ? e(r, u) : e
                      , s = g.numbers && g.numbers[r] || r;
                    return n.replace(/%d/i, s)
                }
                var n = o.settings.relative;
                if (!n && a(e))
                    return e.format(this.settings.yearsAgoFormat);
                if (!n && i(e))
                    return e.format(this.settings.daysAgoFormat);
                var u = s(e)
                  , g = this.settings.strings
                  , h = g.suffixAgo
                  , d = Math.abs(u) / 1e3
                  , l = d / 60
                  , f = l / 60
                  , m = f / 24
                  , c = m / 30
                  , M = m / 365;
                return words = 60 > d ? r(g.seconds, Math.floor(d)) : 60 > l ? r(g.minutes, Math.floor(l)) : 24 > f ? r(g.hours, Math.floor(f)) : 30 > m ? r(g.days, Math.floor(m)) : 365 > m ? r(g.months, Math.floor(c)) : r(g.years, Math.floor(M)),
                "刚刚" == words ? words : words + h
            },
            parse: function (e) {
                var r = t.trim(e);
                return r = r.replace(/.d+/, ""),
                r = r.replace(/-/, "/").replace(/-/, "/"),
                r = r.replace(/T/, " ").replace(/Z/, " UTC"),
                r = r.replace(/([+-]dd):?(dd)/, " $1$2"),
                new Date(r)
            },
            datetime: function (e) {
                var r = t(e).attr(o.isTime(e) ? "datetime" : "title");
                return o.parse(r)
            },
            isTime: function (e) {
                return "time" === t(e).get(0).tagName.toLowerCase()
            }
        };
        t.fn.timeago = function (t) {
            return this.each(function () {
                e.call(this, t)
            }),
            this
        }
    }(window.jQuery)
  • 相关阅读:
    jxl切割excel文件
    Oracle 11g新增not null的字段比10g快--新特性
    再按一次退出程序
    项目进阶 之 集群环境搭建(一)概述
    分布式搜索elasticsearch 环境搭建
    WikiCFP--A Wiki for Calls For Papers
    Java的结构之美【2】——销毁对象
    Java的结构之美【1】——构造对象
    Bottle 中文文档
    我的算法学习之路
  • 原文地址:https://www.cnblogs.com/zengxiangzhan/p/5698321.html
Copyright © 2020-2023  润新知