JS--多久前,当前月,当前年转时间戳

一、几天前转时间戳

<template>
  <el-button @click="start"></el-button>
  <p>更新时间:{{ formatMsgTime(versions) }}</p>
</template>

<script>
export default {
  data() {
    return {
    	versions:1656316800000
    };
  },
  methods: {
    start() {
      let toData = new Date(new Date().toLocaleDateString()).getTime();
      //今天
      let todayStart = toData; //开始时间  当天的00:00:00
      let todayEnd = todayStart + 24 * 60 * 60 * 1000 - 1; //结束时间 当天的23:59:59
      //昨天
      let yesterdayStart = toData - 3600 * 24 * 1000;
      let yesterdayEnd = yesterdayStart + 24 * 60 * 60 * 1000 - 1;
      //最近7天
      let past7daysStart = toData - 7 * 3600 * 24 * 1000;
      let past7daysEnd = past7daysStart + 24 * 60 * 60 * 1000 - 1;
      //最近30天
      let past30daysStart = toData - 30 * 3600 * 24 * 1000;
      let past30daysEnd = past30daysStart + 24 * 60 * 60 * 1000 - 1;
      //最近90天
      let past90daysStart = toData - 90 * 3600 * 24 * 1000;
      let past90daysEnd = past30daysStart + 24 * 60 * 60 * 1000 - 1;
      console.log(yesterdayStart,"0000000");
      console.log(yesterdayEnd,"11111111");
    },
    /*转为多久前*/
    formatMsgTime(timespan) {
      var dateTime = new Date(timespan); // 将传进来的字符串或者毫秒转为标准时间
      var year = dateTime.getFullYear();
      var month = dateTime.getMonth() + 1;
      var day = dateTime.getDate();
      var hour = dateTime.getHours();
      var minute = dateTime.getMinutes();
      // var second = dateTime.getSeconds()
      var millisecond = dateTime.getTime(); // 将当前编辑的时间转换为毫秒
      var now = new Date(); // 获取本机当前的时间
      var nowNew = now.getTime(); // 将本机的时间转换为毫秒
      var milliseconds = 0;
      var timeSpanStr;
      milliseconds = nowNew - millisecond;
      if (milliseconds <= 1000 * 60 * 1) {
        // 小于一分钟展示为刚刚
        timeSpanStr = "刚刚";
      } else if (
        1000 * 60 * 1 < milliseconds &&
        milliseconds <= 1000 * 60 * 60
      ) {
        // 大于一分钟小于一小时展示为分钟
        timeSpanStr = Math.round(milliseconds / (1000 * 60)) + "分钟前";
      } else if (
        1000 * 60 * 60 * 1 < milliseconds &&
        milliseconds <= 1000 * 60 * 60 * 24
      ) {
        // 大于一小时小于一天展示为小时
        timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60)) + "小时前";
      } else if (
        1000 * 60 * 60 * 24 < milliseconds &&
        milliseconds <= 1000 * 60 * 60 * 24 * 15
      ) {
        // 大于一天小于十五天展示位天
        timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60 * 24)) + "天前";
      } else if (
        milliseconds > 1000 * 60 * 60 * 24 * 15 &&
        year === now.getFullYear()
      ) {
        timeSpanStr = month + "-" + day + " " + hour + ":" + minute;
      } else {
        timeSpanStr =
          year + "-" + month + "-" + day + " " + hour + ":" + minute;
      }
      return timeSpanStr;
    },
  }
};
</script>

<style></style>

二、特殊情况(今年,当前月)

1.当前月

let tYear = new Date().getFullYear(); //当前年份
let tMonth = new Date().getMonth();
let firstDay = new Date(tYear, tMonth, 1);		 // 当前月第一天
let lastDay = new Date(tYear, tMonth + 1, 0);    // 当前月最后一天
let startTime = Date.parse(firstDay);            // 转时间戳

2.当前年

let tYear = new Date().getFullYear();
let firstDay = new Date(tYear, 0, 1);          // 当前年第一天
let lastDay = new Date(tYear, 11, 31);         // 当前年最后一天
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值