年龄计算, 发布时间计算 等等 对时间戳的操作

//时间戳转换时间
function toDate(number){
  var n=number; //注释 10位的 需要 乘以 1000,如(number * 1000) 13位就不需要
  var date = new Date(n);
  var Y = date.getFullYear() + '/';
  var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '/';var D = date.getDate()<10 ? '0'+date.getDate() : date.getDate();
  return (Y+M+D)

    //var h = date.getHours() + ':';
      //var m = date.getMinutes() + ':';
    //var s = date.getSeconds();
    //return Y+M+D+h+m+s;   时分秒 更具自己需求

}

//将日期格式转换成时间戳:
  var date = new Date('2014-04-23 18:55:49:123');
    // 有三种方式获取
    var time1 = date.getTime();
    var time2 = date.valueOf();
    var time3 = Date.parse(date);
    console.log(time1);//1398250549123
    console.log(time2);//1398250549123
    console.log(time3);//1398250549000

  以上三种获取方式的区别:

  第一、第二种:会精确到毫秒

  第三种:只能精确到秒,毫秒用000替代

  以上三个输出结果可观察其区别

  注意:获取到的时间戳除以1000就可获得Unix时间戳,就可传值给后台得到。


=======================================================================
年龄计算:
假设出身年月 let old = '1993-10-10'
       let oldage =
old.substr(0, 4); //截取字符串从第0位开始截取4位 1993
获取当前时间戳:let new = Date.parse(new Date())
用上面的函数toDate转化:
时间戳转 日期: let newage = toDate(new) //2019
let age = newage - oldage  // 26=
=====================================================



发布多久 的demo: 刚刚, 一小时前, 一个月前 等等

function getDateDiff(dateTimeStamp) {
var result;
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
var now = new Date();//有些特殊 不能使用 new Date()
var diffValue = now - dateTimeStamp;
if (diffValue < 0) { return; }
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
if (monthC >= 1) {
result = "" + parseInt(monthC) + "月前";
}
else if (weekC >= 1) {
result = "" + parseInt(weekC) + "周前";
}
else if (dayC >= 1) {
result = "" + parseInt(dayC) + "天前";
}
else if (hourC >= 1) {
result = "" + parseInt(hourC) + "小时前";
}
else if (minC >= 1) {
result = "" + parseInt(minC) + "分钟前";
} else
result = "刚刚";
return result;
};
---------------------

 

// 截取 空格前内容
function getCaption(obj) {
let index = obj.indexOf(" ");
obj = obj.substring(0, index)
return obj;
}
 
注释  res.data.msg.gmtModified 后台给我的   '2019-10-10 10:10:00'
 
截取之后    '2019-10-10'  

案例:::::
//计算发布时间 (刚刚 几小时前 等等)
let time = getCaption('2019-09-09 00:00:00') //处理时间 不然 ios显示不了NaN (坑!!)     //'2019-09-09'
let time_two = (new Date(time)).getTime(); //日期转化为时间戳   // 13位     1500213180111....
 
然后调用函数:
console.log(getDateDiff(time_two)) // 2周前



效果图:

谢谢!!!!

 

posted @ 2019-03-22 15:04  大熊丨rapper  阅读(623)  评论(0编辑  收藏  举报