javascript实现详细时间提醒信息效果的方法

本文实例讲述了javascript实现详细时间提醒信息效果的方法。分享给大家供大家参考。具体如下:

我们经常在社交网络上面看到很人性化的时间提示比如,你的朋友几分钟前更新了什么,你的朋友几天前更新了什么信息.
这些小tips比直接显示某年某月人性化很多.我们可以用不同的程序实现这种效果.下面我是通过前台javascript来实现这种效果.
这样可以减少后台服务器的压力.

javascript实现代码如下:

代码如下:

// 本函数实现了更人性化的时间提示
// @param date_str 传递过来的时间,时间格式如:2010-12-14 18:36:09
function date_parser_diff_return(date_str){
    var  date=new Date();
    if(typeof(date_str)!='string')return date;
    var date_arr=date_str.split(new RegExp("[:| |-]","ig"));
    var date_obj = new Date(date_arr[0],date_arr[1]-1,date_arr[2],date_arr[3],date_arr[4],date_arr[5]);
    var date_seconddiff=( new Date().getTime()-date_obj.getTime() ) /1000 ;
        date_str_w='';
        if(date_seconddiff <60*30)date_str_w= Math.ceil(date_seconddiff/60)+"分钟前 ";
        if(!date_str_w && date_seconddiff <3600)date_str_w= "1小时前 ";
        if(!date_str_w && date_seconddiff <3600*2)date_str_w= "2小时前 ";
        if(!date_str_w && date_seconddiff <3600*3)date_str_w= "3小时前 ";
        if(!date_str_w && date.getFullYear()==date_arr[0] && date.getMonth()==date_arr[1]-1 && date.getDate()==date_arr[2])
                date_str_w= "今天 "+date_arr[3]+':'+date_arr[4];
        if(!date_str_w && date.getFullYear()==date_arr[0] && date.getMonth()==date_arr[1]-1 && date.getDate()-1==date_arr[2])
                date_str_w= "昨天 "+date_arr[3]+':'+date_arr[4];
        if(!date_str_w && date.getFullYear()==date_arr[0] && date.getMonth()==date_arr[1]-1 && date.getDate()-2==date_arr[2])
                date_str_w= "前天 "+date_arr[3]+':'+date_arr[4];
        if(!date_str_w && date.getFullYear()==date_arr[0] && date.getMonth()==date_arr[1]-1 )
                date_str_w= (date.getMonth()+1)+"月"+  date_arr[2]+"号 "+date_arr[3]+':'+date_arr[4];
        if(!date_str_w && date.getFullYear()==date_arr[0])
               date_str_w= "今年 " + date_arr[1]+"月"+  date_arr[2]+"号 "+date_arr[3]+':'+date_arr[4];
        if(!date_str_w && date.getFullYear()-1==date_arr[0])
               date_str_w= "去年 " + date_arr[1]+"月"+  date_arr[2]+"号 "+date_arr[3]+':'+date_arr[4];
        document.write(date_str_w);
};

希望本文所述对大家的javascript程序设计有所帮助。

(0)

相关推荐

  • javascript 定时广告显示(两个时间段) 原创

    function strToDate(str,ext){ if(str==null || str=='') return; var arys = new Array(); arys = str.split('-'); var newDate = new Date(arys[0],arys[1]-1,arys[2],9,0,0); if(ext){ newDate = new Date(newDate.getTime()+1000*60*60*24); } return newDate; } fu

  • javascript实现获取服务器时间

    JS是在客户端运行的脚本,而不是运行在服务器上,通常来说,通过JS获取时间的时候获取到的时间是访客本地电脑上的时间,为了让网页上的时间不因访客电脑差异而不同,我们有必要直接JS获取服务器时间. 下面是完整的js获取服务器时间代码,是使用javascript获取服务器时间的完整实例,js动态刷新服务器时间. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content=

  • javascript实现根据时间段显示问候语的方法

    本文实例讲述了javascript实现根据时间段显示问候语的方法.分享给大家供大家参考.具体实现方法如下: 将以下代码加入HTML 的<body></body>之间: <script language="javaScript"> <!-- now = new Date(),hour = now.getHours() if(hour < 6){document.write("凌晨好!")} else if (hour &

  • javascript实现实时输出当前的时间

    最近有个网站页面上要输出当前时间,精确到时分秒,还要适时变化的.百度找了找,没找到合适的,于是自己写了个,收藏下,方便以后使用. js 适时输出当前的时间 function CurentTime(divID){ var curTime=new Array(); var now=new Date(); var week=['日','一','二','三','四','五','六']; var year=now.getFullYear(); //年 var month=now.getMonth()+1;

  • JavaScript计算两个日期时间段内日期的方法

    本文实例讲述了JavaScript计算两个日期时间段内日期的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /*************************  * 计算两个日期时间段内所有日期  *   * @param value1  *            开始日期 YYYY-MM-DD  * @param value2  *            结束日期  * return 日期数组  */  function dataScope(value1, value2

  • javascript根据时间生成m位随机数最大13位

    根据时间生成m位随机数,最大13位随机数,并且不能保证首位不为0 function ran(m) { m = m > 13 ? 13 : m; var num = new Date().getTime(); return num.toString().substring(13 - m); } console.log(ran(5)); 根据Math的random函数生成的随机数截取m位,生成的随机数最大不超过16位,能保证首位不为0 function rand(m) { m = m > 16 ?

  • javascript实时显示北京时间的方法

    本文实例讲述了javascript实时显示北京时间的方法.分享给大家供大家参考.具体如下: 该页面中实时显示北京时间,更改时区也可以作为显示世界时间,代码如下: 复制代码 代码如下: <script type="text/javascript"> Date.prototype.strftime = function(format){     var o = {       "M+" :  this.getMonth()+1,  //month      

  • JavaScript时间转换处理函数

    JavaScript时间转换处理函数 /** * 将格式为yyyy-MM-dd hh:mm:ss.S的字符串转为Date * @param dateString 时间字符串 */ function convertToDate(dateString){ return new Date(dateString.replace(/\-/g,"/")); } /** * 比较时间 * @param date1 * @param date2 */ function compareDate(date

  • javascript+php实现根据用户时区显示当地时间的方法

    本文实例讲述了javascript+php实现根据用户时区显示当地时间的方法.分享给大家供大家参考.具体如下: 在跨时区应用中会用到下面代码,这是以前写的一段代码. 服务器保存相关时间配置,保存形式为GMT时间,客户端需要根据客户所在时区做相应显示,以符合客户习惯. 1. JavaScript代码如下: window.onload = function() { //TODO begin 处理登陆用户时区 //获得登陆用户时区与GMT时区的差值 var exp = new Date(); var

  • 根据地区不同显示时间的javascript代码

    by tingting <script language="JavaScript"> <!-- Begin var timerRunning = false; var timezone = "格林尼治标准时间"; var adjust = 0; function timeCheck(tzone, diff) { if (timerRunning) { clearTimeout(updatetime); timerRunning = false; }

随机推荐