JavaScript日期處理類庫moment()獲取時(shí)間
moment 是一個(gè) JavaScript 日期處理類庫。
使用:
//安裝 moment npm install moment -- save
引用
//在main.js中全局引入 import moment from "moment"
設(shè)定moment區(qū)域?yàn)橹袊?/p>
//import 方式 import 'moment/locale/zh-cn' moment.locale('zh-cn');
掛載全局變量
Vue.prototype.$moment = moment;
代碼示例:
- 當(dāng)前日期向前或者向后推的日期格式化
moment().subtract(13, "days").calendar(); // 當(dāng)前時(shí)間往前推13天的日歷時(shí)間: 2024/07/16 moment().subtract(3, "days").calendar(); // 當(dāng)前時(shí)間往前推3天: 本周三16:46 moment().subtract(1, "days").calendar(); // 當(dāng)前時(shí)間往前推1天: 昨天16:47 moment().calendar(); // 今天16:48 moment().add(1, "days").calendar(); // 當(dāng)前時(shí)間往后推1天: 明天16:49 moment().add(3, "days").calendar(); // 當(dāng)前時(shí)間往后推3天: 下周二16:50 moment().add(10, "days").calendar(); // 當(dāng)前時(shí)間往后推10天: 2024/07/06
常用函數(shù):
//獲取當(dāng)前時(shí)間 moment();//Sun Jun 04 2023 15:12:11 GMT+0800 //獲取今天0時(shí)0分0秒 moment().startOf('day'); /Sun Jun 04 2024 00:00:00 GMT+0800 //獲取本周第一天(周日)0時(shí)0分0秒 moment().startOf("week"); //Mon May 29 2024 00:00:00 GMT+0800 //獲取本周周一0時(shí)0分0秒 moment().startOf("isoWeek"); //Mon May 29 2024 00:00:00 GMT+0800 //獲取當(dāng)前月第一天0時(shí)0分0秒 moment().startOf("month"); //Thu Jun 01 2024 00:00:00 GMT+0800 //獲取今天23時(shí)59分59秒 moment().endOf("day"); //Sun Jun 04 2024 23:59:59 GMT+0800 //獲取本周最后一天(周六)23時(shí)59分59秒 moment().endOf("week"); //Sun Jun 04 2024 23:59:59 GMT+0800 //獲取本周周日23時(shí)59分59秒 moment().endOf("isoWeek"); //Sun Jun 04 2024 23:59:59 GMT+0800 //獲取當(dāng)前月最后一天23時(shí)59分59秒 moment().endOf("month"); //Fri Jun 30 2024 23:59:59 GMT+0800 //獲取當(dāng)前月的總天數(shù) moment().daysInMonth(); //30 //獲取時(shí)間戳(以秒為單位) moment().unix(); //1685863710 moment().format('X'); //1685863669 //獲取時(shí)間戳(以毫秒為單位) moment().valueOf(); //返回值為數(shù)值型:1685863954482 moment().format('x'); // 返回值為字符串類型:1685863897121 //獲取年份 moment().year(); //2024 moment().get("year"); //2024 //獲取月份 moment().month(); //5 moment().get("month"); //5 //獲取一個(gè)月中的某一天 moment().date(); //4 moment().get("date"); //4 //獲取一個(gè)星期中的某一天 moment().day(); //4 moment().weekday(); //6 moment().isoWeekday(); //7 moment().get("day"); //0 moment().get("weekday"); //6 moment().get("isoWeekday"); //7 //獲取小時(shí) moment().hours(); //15 moment().get("hours"); //15 //獲取分鐘 moment().minutes(); //46 moment().get("minutes"); //46 //獲取秒數(shù) moment().seconds(); //24 moment().get("seconds"); //41 //獲取當(dāng)前的年月日時(shí)分秒 moment().toArray(); //[ 2024, 5, 4, 15, 48, 40, 288 ] moment().toObject(); //{ "years": 2024, "months": 5, "date": 4, "hours": 15, "minutes": 49, "seconds": 9, "milliseconds": 386 }
//當(dāng)前時(shí)間 moment() //中國標(biāo)準(zhǔn)時(shí)間 moment().toDate() //格式化當(dāng)前時(shí)間 moment().format('YYYY-MM-DD') //12小時(shí)制: moment().format('YYYY-MM-DD hh:mm:ss') //24小時(shí)制://kk有問題 改為HH moment().format('YYYY-MM-DD kk:mm:ss') moment().format('YYYY-MM-DD HH:mm:ss') //本月月初 moment().startOf('month') //本月月末 moment().endOf('month') //N天/月/小時(shí)后 moment().add(5, 'month') //5個(gè)月之后的日期,參數(shù)為負(fù)則表示之前,參數(shù)'month'還可以為'day'、'hour' //當(dāng)前時(shí)間的前10天時(shí)間 moment().subtract(10, "days").format("YYYY-MM-DD"); //當(dāng)前時(shí)間的前1年時(shí)間 moment().subtract(1, "years").format("YYYY-MM-DD"); //當(dāng)前時(shí)間的前3個(gè)月時(shí)間 moment().subtract(3, "months").format("YYYY-MM-DD"); //當(dāng)前時(shí)間的前一個(gè)星期時(shí)間 moment().subtract(1, "weeks").format("YYYY-MM-DD");
附:js獲取當(dāng)前日期是第幾周、每年有多少周、周的開始時(shí)間和結(jié)束時(shí)間
//引入moment.js import moment from 'moment'; //獲取一年中有多少周、每一周開始和結(jié)束時(shí)間 const mapWeeksOfyear = ({ year} = {}) => { const nowYear = year ? year : moment().year(); const timestamp = (new Date()).valueOf() // 設(shè)置正在處理的年份 let handleYear = moment(new Date(String(nowYear))); // 這一年有多少個(gè)周 const totalWeeks = handleYear.endOf('year').isoWeek(); const arryWeek = []; let currentWeek = null; //當(dāng)前日期是第幾周 for(let i = 1;i <= totalWeeks;i++){ let startOf = handleYear.week(i).startOf('week').format('MM-DD'); let endOf = handleYear.week(i).endOf('week').format('MM-DD'); let ednyear = handleYear.week(i).endOf('week').format('YYYY'); let startValue= handleYear.week(i).startOf('week').valueOf(); let endValue= handleYear.week(i).endOf('week').valueOf(); if(startValue<=timestamp&&endValue>=timestamp){ currentWeek = i } arryWeek.push({ value: i, name: `第${i}周 ${ednyear>nowYear?nowYear + "-" +startOf :startOf} 至 ${ednyear>nowYear?ednyear + "-" +endOf:endOf}`, startTime: handleYear.week(i).startOf('week').format('YYYY-MM-DD'),// 這周的開始時(shí)間 endTime: handleYear.week(i).endOf('week').format('YYYY-MM-DD'), // 這周的結(jié)束時(shí)間 }) } return {arryWeek,currentWeek} }
到此這篇關(guān)于JavaScript日期處理類庫moment()獲取時(shí)間的文章就介紹到這了,更多相關(guān)moment()獲取時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
簡單實(shí)現(xiàn)js選項(xiàng)卡切換效果
這篇文章主要為大家詳細(xì)介紹了簡單實(shí)現(xiàn)js選項(xiàng)卡切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02JavaScript改變this指向的四種方法(bind、call、apply 和箭頭函數(shù))
JavaScript中的this是一個(gè)非常重要且容易困惑的概念,主要用于引用執(zhí)行上下文,然而,this的指向經(jīng)常因?yàn)椴煌膱?zhí)行環(huán)境而改變,為了解決這個(gè)問題,JavaScript提供了多種方法來明確指定this的指向,本文將詳細(xì)介紹JavaScript中常用的四種改變this指向的方法2025-03-03js querySelector和getElementById通過id獲取元素的區(qū)別
這是sina同事xiaoniu發(fā)現(xiàn)的,querySelector和getElementById通過id獲取元素的區(qū)別2012-04-04教你如何自定義百度分享插件以及bshare分享插件的分享按鈕
在項(xiàng)目中我們常用到百度分享插件或者bshare分享插件,雖然官方都有自定義按鈕的功能,但是畢竟還是只有少數(shù)幾種,我們?nèi)绾蝸碇谱饔凶约禾厣姆窒戆粹o呢?2014-06-06layui實(shí)現(xiàn)數(shù)據(jù)表格自定義數(shù)據(jù)項(xiàng)
今天小編就為大家分享一篇layui實(shí)現(xiàn)數(shù)據(jù)表格自定義數(shù)據(jù)項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10詳解如何構(gòu)建Promise隊(duì)列實(shí)現(xiàn)異步函數(shù)順序執(zhí)行
這篇文章主要介紹了詳解如何構(gòu)建Promise隊(duì)列實(shí)現(xiàn)異步函數(shù)順序執(zhí)行,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10