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