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

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

当前时间转为时间戳:

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;
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值