使用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; } },
如果需要的話可以使用方法加上就可以了