日期时间的获取

使用moment插件

// 需要先 npm i moment
// 再import moment from 'moment'

// 1.获取当前年
  const curYear = new Date().getFullYear()

// 2.获取当前周
  const curWeek = moment().format("W")

// 3.获取当前周的开始日期和结束日期
  let weekOfDay = parseInt(moment().format('E'));//计算今天是这周第几天
  let last_monday = moment().startOf('day').subtract(weekOfDay - 1, 'days').toDate();//周一日期
  let last_sunday =  moment().startOf('day').subtract(weekOfDay - 7, 'days').toDate();//周日日期

//4.获取某年某周的开始日期和结束日期
  const year = 2022
  const week = 29
  let  weekdays = []
  weekdays[0] = moment(`${year}-${week}`,'GGGG-WW').format('YYYY.MM.DD')
  weekdays[1] = moment(`${year}-${week}`,'GGGG-WW').weekday(7).format('YYYY.MM.DD')

//5. 上周下周日期变化
  // 日期格式获取
  const  getLastWeek = (i) => {
    let weekOfDay = parseInt(moment().format('E'));//计算今天是这周第几天
    let last_monday = moment().startOf('day').subtract(weekOfDay + 7 * i - 1, 'days').toDate();//周一日期
    let last_sunday =  moment().startOf('day').subtract(weekOfDay + 7 * (i - 1), 'days').toDate();//周日日期
    week = moment(last_monday).format('W') //获取此日期所在周
    year = moment(last_monday).format('Y')  //获得此日期所在年
    return [moment(last_monday).format('YYYY.MM.DD'), moment(last_sunday).format('YYYY.MM.DD')]
  }
  // 上周
  const beforeWeek = () => {
    weekCount++
    weekdays = getLastWeek(weekCount.value)
  }
  // 下周
  const nextWeek = () => {
    weekCount--
    weekdays = getLastWeek(weekCount.value)
  }

 

// 6. 获取一周内的所有日期

// moment.locale(“zh-cn”, {});是为了让获取到的周期变为中文 默认是英文的
 import moment from "moment"; 
 moment.locale("zh-cn", {
 
    weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_")
    
   });

export function cycle(val) {
    let time = moment(val[0]).startOf("week");
    let weekArr = []
    for (let i = 1; i < 6; i++) {
        let tempTime = moment(time).weekday(i);
        let tr = moment(tempTime).format("YYYY-MM-DD (dddd)");
        tr = tr.replace("星期", "周");
        weekArr.push(tr);
    }
    return weekArr 
   }  

// 使用方法
changeTime(val) {
      
     this.weekArr=cycle(val)
 },

 

// 获取指定日期的当前周的第一天
moment('2022-10-01').isoWeekday(1).format('YYYY-MM-DD')

// 获取指定日期的当前周的最后一天
moment('2022-10-01').isoWeekday(7).format('YYYY-MM-DD')

 

 

// 通过时间戳获取星期几

getWeek (date) { // 参数时间戳
      let week = moment(date).day()
      switch (week) {
        case 1:
          return '周一'
        case 2:
          return '周二'
        case 3:
          return '周三'
        case 4:
          return '周四'
        case 5:
          return '周五'
        case 6:
          return '周六'
        case 0:
          return '周日'
      }
    }

 

// 获取当前的日期和时间 格式化
moment().format('YYYY-MM-DD HH:mm:ss');

// 获取指定时间
moment(new Date()).format('YYYY-MM-DD HH:mm:ss');

// 时间差值
let m1 = moment('2022-10-14 11:00:00')
let m2 = moment('2022-10-14  11:00:01');

// 2022-10-14  11:00:01 - 2022-10-14  11:00:00 = 1
m2.diff(m1, 'second')

// 解析时间
moment("2019-10-25 16:08:05").format('YYYY-MM-DD');

console.log(moment.year()); // 2022
console.log(moment.month()); // ( 0 到 11)
console.log(moment.date()); // 12
console.log(moment.hour()); // 11
console.log(moment.minute()); // 08
console.log(moment.second()); // 27

console.log(moment.toObject());
// {
//     years: 2022,
//     months: 11,
//     date: 12,
//     hours: 11,
//     minutes: 08,
//     seconds: 27,
//     milliseconds: 728
// }

// 减3 天
moment().subtract(3, 'days');

// 加1 天
moment().add(1, 'days');

 

// 当前年
moment().year(); // Number

// 当前月
moment().format('MM')

// 当前季度
moment(new Date()).quarter();

上一年:moment().add(-1, 'y').format("YYYY")
下一年:moment().add(1, 'y').format("YYYY")

上一季度:moment().add(-1, 'Q').quarter()
下一季度:moment().add(1, 'Q').quarter()

// 年开始结束时间
moment().startOf('year')
moment().endOf('year')

当前季度的开始结束时间:
moment().startOf('quarter').format("YYYY-MM-DD")
moment().endOf('quarter').format("YYYY-MM-DD")
 
指定年指定季度的开始结束时间:(某年某季度的开始结束时间)
moment(moment().format("YYYY-02-01")).startOf('quarter').format("YYYY-MM-DD")
moment(moment().format("YYYY-02-01")).endOf('quarter').format("YYYY-MM-DD")

// 月度开始结束时间
moment().startOf('month')
moment().endOf('month')


// 获取指定月份的第一天
moment(日期).startOf("month").format("YYYY-MM-DD");

// 获取指定月份的最后一天
moment(日期).endOf('month').format("YYYY-MM-DD");

// .获取指定月份的上月份的第一天
moment(日期).subtract(1, 'months').startOf('month').format('YYYY-MM-DD');

// 获取指定月份的上月份的最后一天
moment(日期).subtract(1, 'months').endOf('month').format('YYYY-MM-DD');

// 获取指定年份的第一天
moment(日期).startOf('year').format("YYYY-MM-DD");

// 将分钟转化成小时分钟
moment.utc(moment.duration(60, "minutes").asMilliseconds()).format("H:mm")//1:00

// 将分钟转化成小时分钟
moment.utc(moment.duration(60, "minutes").asMilliseconds()).format("H:mm")//1:00

// 通过时间戳转换具体年月日
moment(parseInt(‘时间戳值’)).format('YYYY/MM/DD hh:mm:ss')

  

 

原生获取

获取当前时间:

var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
alert(year + '-' + month + '-' + day  + ' ' + hour + ':' + minute + ':' + second);

获取一周后时间

// 获取1周后的日期
var weekDate = this.$moment().add(7,'weekd')

// 将获取的日期转换指定的格式
this.$moment(weekDate).format('MM-DD')

 

获取一星期前的时间:

var now = new Date();
var date = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
alert(year + '-' + month + '-' + day  + ' ' + hour + ':' + minute + ':' + second);

 

 vue获取当前时间-实时刷新

 

获取当前系统时间,在页面上展示 年月日 时分秒 ,并且实时刷新,和系统时间保持一致
1.在deta 里面声明两个变量;2.把时间调用写在created() 生命周期里面,进入页面就需要调用;3.离开页面使用beforeDestroy() 销毁
data() {
    return {
      timer: "",//定义一个定时器的变量
      currentTime: new Date(), // 获取当前时间
    };
  },
created() {
    var _this = this; //声明一个变量指向Vue实例this,保证作用域一致
    this.timer = setInterval(function() {
      _this.currentTime = //修改数据date
        new Date().getFullYear() +
        "-" +
        (new Date().getMonth() + 1) +
        "-" +
        new Date().getDate() +
        " " +
        new Date().getHours() +
        ":" +
        new Date().getMinutes() +
        ": " +
        new Date().getSeconds();
    }, 1000);
  },
beforeDestroy() {
    if (this.timer) {
      clearInterval(this.timer); // 在Vue实例销毁前,清除我们的定时器
    }
  }

拿到的时间格式是 2021-8-16 8:9: 5  (小于10的没有加  0,如需要,可以使用下面的方法加上就可以了)

//过滤加0
appendZero(obj) {
if (obj < 10) {
return "0" + obj;
} else {
return obj;
}
},

如果需要的话可以使用方法加上就可以了

posted on 2021-11-29 15:14  一名小学生呀  阅读(776)  评论(0编辑  收藏  举报

导航