javascript实现详细时间提醒信息效果的方法
更新时间:2015年03月11日 11:37:17 作者:疯狂的流浪
这篇文章主要介绍了javascript实现详细时间提醒信息效果的方法,涉及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);
};
// @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程序设计有所帮助。
相关文章
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
这篇文章主要给大家介绍了利用Javascript判断鼠标进入容器方向的方法,以及window.open新窗口被拦截的问题分析,文中给出了详细图文介绍和示例代码,相信对大家的理解和学习具有一定的参考借鉴价值,下面来一起看看吧。2016-12-12
最新评论