模拟器与手机上的时间不一直
发布于 5 年前 作者 xiexiulan 16469 次浏览 来自 问答

自己模拟器上看,是这样的

但是预览到手机的时候,发现就不是 5小时前,而是“刚刚”。

查了电脑的事区设置以及手机上的时区设置,都是一样的。有没有人碰到过。

自己debug了一下:

‘pubDate’: getDateDiff(new Date(item[‘pubDate’]).getTime()),

发现是getDateDiff这个函数引起的,如果没有用这个函数,两边的显示是一致的。各位大侠帮忙看下getDateDiff有啥问题,这个函数也是网上找的。

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().getTime();

  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) {

    if (monthC <= 12)

      result = “” + parseInt(monthC) + “月前”;

    else {

      result = “” + parseInt(monthC / 12) + “年前”;

    }

  }

  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;

};

2 回复

2018-09-04 19:11:10

这种格式

请告诉我你的 item[‘pubDate’] 的值是什么格式的?你随便打印一个看看。

回到顶部