javascript处理与当前时间间隔的函数


JavaScript #函数 #时间间隔2012-05-23 11:20

直接上代码:

 //yige.org 计算一个日期字符串与当前日期相差值
 //输入的参数形式如:2012-12-12 12:12:12
 //返回相差值的字符串
 function GetDateDiff(datetime)
 {
    // 可以将2012 - 12 - 12 12 : 12 : 12字符串转为JS中的时期对象,
    // 因为默认情况下只把持2000 / 05 / 05这样形式的字符串转为时间对象
    var dateBegin = new Date(datetime.replace(/-/g, "/"));
    var dateEnd = new Date();
    var dateDiff = dateEnd.getTime() - dateBegin.getTime();
    // 计算相差的天数
    var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));
    var returnstr = "";
    if(dayDiff > 2)   //前天以前就直接返回时间字符串
    {
       return datetime;
    }
    else  //前天以来的处理
    {
       var parttime = datetime.substring(11);
       switch (dayDiff)
       {
          case 2 :
             returnstr += "前天 " + parttime;
             break;
          case 1 :
             returnstr += "昨天 " + parttime;
             break;
          default :  //对今天的操作
             var minuteleft = Math.floor(dateDiff / (60 * 1000));  //计算相差的分钟数
             if(minuteleft > 30)
             {
                returnstr += "今天 " + parttime;
             }
             else if (minuteleft == 0)
             {
                returnstr += Math.floor(dateDiff / 1000) + "秒前";
             }
             else
             {
                returnstr += minuteleft + "分钟前";
             }
       }
       alert(returnstr);
       return returnstr;
    }
 }
 
 
 ☆其它备录:
 //
 //// 计算出小时数
 // var leftSecond1 = dateDiff % (24 * 3600 * 1000)    // 计算天数后剩余的毫秒数
 // var hourDiff = Math.floor(leftSecond1 / (3600 * 1000))
 //// 计算相差分钟数
 // var leftSecond2 = leftSecond1 % (3600 * 1000)        // 计算小时数后剩余的毫秒数
 // var minuteDiff = Math.floor(leftSecond2 / (60 * 1000))
 //// 计算相差秒数
 // var leftSecond3 = leftSecond2 % (60 * 1000)      // 计算分钟数后剩余的毫秒数
 // var secondDiff = Math.round(leftSecond3 / 1000)
 // var returnstr = "";
 
 
 //function ToDate1(datetime)
 //{
 //   // 可以将20080808字符串转为JS中的时期对象
 //   return new Date(bd.replace(/^(\d{4})(\d{2})(\d{2})$/, "$1/$2/$3"));
 //}


相关文章

粤ICP备11097351号-1