javascript实现详细时间提醒信息效果的方法
本文实例讲述了javascript实现详细时间提醒信息效果的方法。分享给大家供大家参考。具体如下:
我们经常在社交网络上面看到很人性化的时间提示比如,你的朋友几分钟前更新了什么,你的朋友几天前更新了什么信息.
这些小tips比直接显示某年某月人性化很多.我们可以用不同的程序实现这种效果.下面我是通过前台javascript来实现这种效果.
这样可以减少后台服务器的压力.
javascript实现代码如下:
//本函数实现了更人性化的时间提示
//@paramdate_str传递过来的时间,时间格式如:2010-12-1418:36:09
functiondate_parser_diff_return(date_str){
var date=newDate();
if(typeof(date_str)!='string')returndate;
vardate_arr=date_str.split(newRegExp("[:||-]","ig"));
vardate_obj=newDate(date_arr[0],date_arr[1]-1,date_arr[2],date_arr[3],date_arr[4],date_arr[5]);
vardate_seconddiff=(newDate().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程序设计有所帮助。