动态发表时间(刚刚、3分钟前、1小时前..)日期相减得到相差的天时分秒

function timeFormatter (date) {

var newData = new Date();
var oldData = new Date(date);
var s1 = newData.getTime(),
    s2 = oldData.getTime();
var total = (s1 - s2)/1000;

var day = parseInt(total / (24*60*60)); //如大于等于1天,取天数
if (day >= 1) {
    return day+'天前';
};

var hour = parseInt(total/(60*60));//如小于1天,取得小时数
if (hour <=23 && hour > 0) {
    return hour+'小时前';
};

var min = parseInt(total / (60));//如小于1小时,取得分钟数
if (min <= 59 && min > 0) {
    return min+'分钟前';
};

var sec = parseInt(total); //如小于1分钟,取得秒数
if (sec <= 59) {
    return sec>0?sec+'秒前':'刚刚';
};

}

  • 需要注意的是:
  • 2016-11-16 12:00:24这种格式在IOS上并不兼容;
  • date.getTime()方法会触发undefined
  • 所以使用时请统一使用斜杠“/”,如:2016/11/16 12:00:24
    原文作者:皮皮皮俊
    原文地址: https://www.jianshu.com/p/bd10ca10075e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞