日期时间的获取
使用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; } },
如果需要的话可以使用方法加上就可以了