时间日期大小比较判断,时间戳/时间 – 转换

  • Post author:
  • Post category:其他


时间日期大小比较判断,时间戳/时间 – 转换

当前时间转为时间戳:

var currentTimestamp = new Date().getTime();

当前时间对象

var curDate = new Date(currentTimestamp); // 当前时间日期对象

时间戳转为日期

 var paramData = new Date(paramTimestamp); // 参数时间戳转换成的日期对象

时间格式(YYYY-MM-DD HH:MM:SS)转为时间戳:

// 1
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime.replace(/-/g, '/'));
var timeStamp = date.valueOf();

// 2
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime.replace(/-/g, '/'));
var timeStamp = Date.parse(data);

// 3
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime.replace(/-/g, '/'));
var paramTimestamp = date.getTime();

// ios无法解析
var date = new Date('2018-06-08 18:00:00');
var paramTimestamp = date.getTime();

// 注意:有三种方式获取,在后面会讲到三种方式的区别
time1 = date.getTime(); // 精确到毫秒
time2 = date.valueOf(); // 精确到毫秒
time3 = Date.parse(date); // 只能精确到秒

比较:

var Diff = currentTimestamp - paramTimestamp; // 参数时间戳与当前时间戳相差秒数
playJudge(playTime) {
  var playJudge;
  var playTimestamp = new Date(playTime.replace(/-/g, '/').valueOf());
  var currentTimestamp = new Date().getTime();
  playJudge = currentTimestamp > playTimestamp ? true : false;
  return playJudge
},

时间戳转为时间:

const getTimestampConversion = function (timestamp) {
  let timeStamp
  let timeStampLen = timestamp.toString().length
  if (timeStampLen === 10) {
    timeStamp = timestamp * 1000
  } else if (timeStampLen === 13) {
    timeStamp = timestamp
  } else {
    timeStamp = timestamp
  }
  let date = new Date(timeStamp) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
  let Y = (date.getFullYear() + '-')
  let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
  let D = (date.getDate() < 10 ? '0' + date.getDate() + ' ' : date.getDate() + ' ')
  let h = (date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':')
  let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() + ':' : date.getMinutes() + ':')
  let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds())
  return Y + M + D + h + m + s
}
 
export default getTimestampConversion

计算时间差,并翻译,新闻发布时间用:


// 时间戳转时间格式YYYY-MM-DD
const getTimestampConversion = function (timestamp) {
  let timeStamp
  let timeStampLen = timestamp.toString().length
  if (timeStampLen === 10) {
    timeStamp = timestamp * 1000
  } else if (timeStampLen === 13) {
    timeStamp = timestamp
  } else {
    timeStamp = timestamp
  }
  let date = new Date(timeStamp) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
  let Y = (date.getFullYear() + '-')
  let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
  let D = (date.getDate() < 10 ? '0' + date.getDate() + ' ' : date.getDate() + ' ')
  let h = (date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':')
  let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() + ':' : date.getMinutes() + ':')
  let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds())
  // return Y + M + D + h + m + s
  return Y + M + D
}

// 123
const newsTimeMethon = (pubTimestamp, currentTimestamp) => {
  let timeDifference = currentTimestamp - pubTimestamp;
  let translateText;
  // 获取天数时间差
  let DD = (timeDifference / (1000 * 60 * 60 * 24))
  // 获取小时时间差
  let HH = (timeDifference / (1000 * 60 * 60))
  // 获取分钟时间差
  let mm = (timeDifference / (1000 * 60))
  // 获取秒时间差
  let ss = (timeDifference / (1000))
  if (DD <= 1) {
    if (ss <= 60) {
      translateText = "刚刚";
    } else if (ss > 60 && ss <= 60 * 60) {
      // translateText = mm + "分钟前"
      translateText = Math.round(mm) + "分钟前"
    } else if (ss > 60 * 60 && ss <= 60 * 60 * 24) {
      translateText = Math.round(HH) + "小时前"
    }
  } else {
    // 超过一天
    translateText = getTimestampConversion(pubTimestamp) // 翻译成YYYY-DD-MM
  }
  //  超过30天
  // else if (DD < 30 && DD > 1) {
  //   translateText = DD + "天前";
  // } else if (DD >= 30 && DD < 365) {
  //   let DD1 = DD / 30;
  //   translateText = DDs + "月前";
  // } else if (DD >= 365) {
  //   let DD2 = DD / 365;
  //   translateText = DD2 + "年前";
  // } else {
  //   translateText = "历史很久远";
  // }
  return translateText;
}



版权声明:本文为tangkthh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。