js實現的幾天前或者幾月前去年等時間日期提示資訊

antzone發表於2017-04-03

雖然人們對於數字形式的時間日期也是很容易接受的,但是國人還是對於漢語式的資訊更為容易接受一些。

下面就是一段程式碼例項,能夠將時間日期轉換為更容易讓人接受的漢語式時間日期資訊。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
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];
    console.log(date_str_w);
};
date_parser_diff_return("2015-3-10 18:36:09");

相關文章