JS呈现时间戳为与前段时间时刻相比较结实,将过
分类:计算机编程

模仿Wechat交际圈公布时间,使用扩张方法将将过去时间体现成xx(秒/分/小时/天卡塔尔(英语:State of Qatar)前,以留言列表中的留言时间为例,先来看一下直接的光阴体现效果(date.ToString("yyyy/MM/dd HH:mm:ss"卡塔尔(قطر‎)

1、时间戳展现

时临时能够看来论坛或然新闻上,时间戳为刚刚,xx分钟前,xx小时前等字样,前端怎样落实吗?

图片 1

 

图片 2

2、时间戳达成

其生机勃勃效应比较轻松,直接上函数,time_str是时间戳的字符串结果,调换来Date对象,

Date对象可以拿到年月日等消息,new三个Date表示近年来光阴,相关信息进行相比较过后,定制再次回到结果就可以。

 

//时间管理函数,多少分钟前,多少时辰前,超越24钟头彰显日期,当先一年彰显年月日
        getTimeShow:function(time_str){
            //debugger;
            var now = new Date();
            var date = new Date(time_str);
            //计算时间隔离,单位为分钟
            var inter = parseInt((now.getTime() - date.getTime())/1000/60);
            if(inter == 0){
                return "刚刚";
            }
            //多少分钟前
            else if(inter < 60){
                return inter.toString() "分钟前";
            }
            //多少时辰前
            else if(inter < 60*24){
                return parseInt(inter/60).toString() "小时前";
            }
            //明年度内,日期不一样,取日期 时间  格式如  06-13 22:11
            else if(now.getFullYear() == date.getFullYear()){
                return (date.getMonth() 1).toString() "-"
                    date.getDate().toString() " "
                    date.getHours() ":"
                    date.getMinutes();
            }
            else{
                return date.getFullYear().toString().substring(2, 3) "-"
                (date.getMonth() 1).toString() "-"
                date.getDate().toString() " "
                date.getHours() ":"
                date.getMinutes();
            }
        },

 

 

感到很相同,未有啥非常

3、完成效果与利益

 

图片 3

上面 大家写三个进行方法,将留言时间格式化成xx(秒/分/小时/天卡塔尔(قطر‎前

decimal.Truncate(data)//取decimal整数位

public static class HtmlExpansion
{   //只格式化2天内的时间
    public static string AgoDateFomat(this DateTime date)
        {
            var times = DateTime.Now - date;
            var s = Convert.ToDecimal(times.TotalSeconds);//秒
            var m = Convert.ToDecimal(times.TotalMinutes);//分钟
            var h = Convert.ToDecimal(times.TotalHours);//小时
            var d = Convert.ToDecimal(times.TotalDays);//天

            return s < 60 ? ""   decimal.Truncate(s)   " 秒前" : m < 60 ? ""   decimal.Truncate(m)   " 分钟前" : h < 24 ? ""   decimal.Truncate(h)   " 小时前" : d < 2 ? ""   decimal.Truncate(d)   " 天前" : date.ToString("yyyy/MM/dd HH:mm:ss");
        }
}

一贯在date前面调用date.AgoDateFomat(卡塔尔,显示效果如下

图片 4

效果图

图片 5

是还是不是认为比在此以前的小时高大上了几许

====完===

本文由pc28.am发布于计算机编程,转载请注明出处:JS呈现时间戳为与前段时间时刻相比较结实,将过

上一篇:python列表生成式与列表生成器的运用,的三种推 下一篇:手把手教孩子学数独,Noip2009靶形数独
猜你喜欢
热门排行
精彩图文