js jq插件 显示中文时间戳 刚刚 N分钟前 N小时前 今天 上午 下午

    $.fn.extend({
        /*
        ** 时间戳显示为【不久前,刚刚,N分钟前,N小时前,N天前,N周前,N月前,N年N月N日】的处理
        ** eg.
        ** $(‘1517451000000‘).commonTimeStamp();  // 2018年02月01日
        ** $(new Date(‘2018-02-01 15:10:00‘).getTime()).commonTimeStamp();  // 1分钟前
        */
        "commonTimeStamp": function () {
            // 补全为13位
            var arrTimestamp = (this.selector || $(this)[0] + ‘‘).split(‘‘),
                zero = function (value) {  // 数值补0方法
                    if (value < 10) {
                        return ‘0‘ + value;
                    }
                    return value;
                },
                arrTime = {
                    minute: 60000,              // 1000 * 60,
                    hour: 3600000,              // 1000 * 60 * 60,
                    day: 86400000,              //1000 * 60 * 60 * 24,
                    week: 604800000,            // 1000 * 60 * 60 * 24 * 7,
                    halfamonth: 1296000000,     // 1000 * 60 * 60 * 24 * 15,
                    month: 2592000000,          //1000 * 60 * 60 * 24 * 30,
                    now: new Date().getTime()
                };
            for (var start = 0; start < 13; start++) {
                if (!arrTimestamp[start]) {
                    arrTimestamp[start] = ‘0‘;
                }
            }
            arrTimestamp = arrTimestamp.join(‘‘) * 1;
            arrTime.diffValue = new Date().getTime() - arrTimestamp;

            // 如果本地时间反而小于变量时间
            if (arrTime.diffValue < 0) {
                return ‘不久前‘;
            }

            // 计算差异时间的量级
            var arrTimeDiff = {
                monthC: arrTime.diffValue / arrTime.month,
                weekC: arrTime.diffValue / arrTime.week,
                dayC: arrTime.diffValue / arrTime.day,
                hourC: arrTime.diffValue / arrTime.hour,
                minC: arrTime.diffValue / arrTime.minute,
            };

            // 使用
            if (arrTimeDiff.monthC > 12) {
                // 超过1年,直接显示年月日
                return (function () {
                    var date = new Date(arrTimestamp);
                    return date.getFullYear() + ‘年‘ + zero(date.getMonth() + 1) + ‘月‘ + zero(date.getDate()) + ‘日‘;
                })();
            } else if (arrTimeDiff.monthC >= 1) {
                return parseInt(arrTimeDiff.monthC) + "月前";
            } else if (arrTimeDiff.weekC >= 1) {
                return parseInt(arrTimeDiff.weekC) + "周前";
            } else if (arrTimeDiff.dayC >= 1) {
                return parseInt(arrTimeDiff.dayC) + "天前";
            } else if (arrTimeDiff.hourC >= 1) {
                return parseInt(arrTimeDiff.hourC) + "小时前";
            } else if (arrTimeDiff.minC >= 1) {
                return parseInt(arrTimeDiff.minC) + "分钟前";
            }
            return ‘刚刚‘;
        },
        /*
        ** 时间戳显示为【今天 上午10:10,今天 下午15:10,昨天 上午10:10,昨天 下午15:10,上午10:10,下午15:10】的处理
        ** eg.
        ** $(‘1517451000000‘).specificTimeStamp();  // 今天 上午10:10
        ** $(new Date(‘2018-02-01 15:10:00‘).getTime()).specificTimeStamp();  // 今天 下午15:10
        */
        "specificTimeStamp": function () {
            var arrTimestamp = this.selector || $(this)[0] - 0,
                parTime = new Date(arrTimestamp),
                diffDay = parseInt((new Date().getTime() - arrTimestamp) / (1000 * 60 * 60 * 24));

            // 使用
            return ((diffDay >= 1 && diffDay <= 2) ? "昨天 " :
                       (diffDay >= 0 && diffDay <= 1) ? "今天 " : "") +
                       ((parTime.getHours() / 12 > 1 ? "下午" : "上午") +
                       parTime.getHours() + ":" + parTime.getMinutes());
        }
    });

原文地址:https://www.cnblogs.com/GoCircle/p/8400498.html

时间: 2024-08-13 17:47:34

js jq插件 显示中文时间戳 刚刚 N分钟前 N小时前 今天 上午 下午的相关文章

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

field: 'rightType', title: '权益类型', //width: 100, align: 'left', valign: 'top', sortable: true, formatter:rightTypeFormat 其实是采用了转换函数实现前台页面显示中文 //显示格式化,将value的值转换为中文 function rightTypeFormat(value, row, index) { if (value == "") { value = "请选

用php判断时间戳来输出刚刚,分钟前,小时前昨天和时间

function T($time) {    //获取今天凌晨的时间戳    $day = strtotime(date('Y-m-d',time()));    //获取昨天凌晨的时间戳    $pday = strtotime(date('Y-m-d',strtotime('-1 day')));    //获取现在的时间戳    $nowtime = time();        $tc = $nowtime-$time;    if($time<$pday){       $str = 

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

<?php /** * php<a href="http://www.jbxue.com/zt/shijianzhuanhuan/" target="_blank" class="infotextkey">时间转换</a> * edit by www.jbxue.com */ date_default_timezone_set('PRC'); $date = "1351836000"; echo

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

转换标准时间为时间戳: function getDateTimeStamp(dateStr){ return Date.parse(dateStr.replace(/-/gi,"/")); } 计算时间差: 1 function getDateDiff(dateTimeStamp) { 2 var minute = 1000 * 60; 3 var hour = minute * 60; 4 var day = hour * 24; 5 var halfamonth = day * 1

js显示时间差 几分钟前 几小时前 几周前

window.onload = function(){ var show_times = $(".times span"); for(var i=0;i<show_times.length;i++){ var dateStr = show_times[i].innerHTML; var dateTimeStamp = Date.parse(dateStr.replace(/-/gi,"/")); var minute = 1000 * 60; var hour

asp.net 格式化显示时间为几个月,几天前,几小时前,几分钟前,或几秒前

public static string DateFormatToString(DateTime dt) { TimeSpan span = (DateTime.Now - dt).Duration(); if (span.TotalDays > 60) { return dt.ToString("yyyy-MM-dd"); } else if (span.TotalDays > 30) { return "1个月前"; } else if (span.

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

前端 时间个性化 插件 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 (

iOS常用于显示几小时前/几天前/几月前/几年前的代码片段

iOS常用于显示几小时前/几天前/几月前/几年前的代码片段 2015-03-13 10:09 版权声明:请关注个人博客:http://www.henishuo.com/ print? /** * Retain a formated string with a real date string * * @param dateString a real date string, which can be converted to a NSDate object * * @return a strin

JS转换时间戳为“刚刚”、“1分钟前”、“2小时前”“1天前”等格式

var minute = 1000 * 60; var hour = minute *60; var day = hour *24; var week = day * 7; var month = day * 30; function getTimer(stringTime){ var time1 = new Date().getTime();//当前的时间戳 console.log(time1); var time2 = Date.parse(new Date(stringTime));//指