本文執行個體講述了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程式設計有所協助。