js实现的几天前或者几月前去年等时间日期提示信息

快乐打工仔 分类:实例代码

虽然人们对于数字形式的时间日期也是很容易接受的,但是国人还是对于汉语式的信息更为容易接受一些。

下面就是一段代码实例,能够将时间日期转换为更容易让人接受的汉语式时间日期信息。

代码实例如下:

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");

回复

我来回复
  • 暂无回复内容