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