欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關于moment.js的常用方法及使用說明

 更新時間:2022年12月08日 14:29:26   作者:halo1416  
這篇文章主要介紹了關于moment.js的常用方法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue項目中,需要把 moment.js 掛載到全局上(即vue的原型鏈上),訪問時直接使用 this.moment() ;

vue項目中不掛載到全局,單文件(單組件)使用:

==>>  import moment from "moment";      然后直接使用 moment() 

1. 初始化日期 / 時間

初始化日期:

moment().format('YYYY-MM-DD');

初始化日期時間:

moment().format('YYYY-MM-DD?HH:mm:ss');

2. 格式化日期 / 時間

格式化日期:

moment(value).format('YYYY-MM-DD');

格式化日期時間:

moment(value).format('YYYY-MM-DD?HH:mm:ss');

3. 加/減  ==>> 

操作之前必須使用 this.moment(日期變量) ;將要操作的日期轉為 moment.js 可以處理的日期時間格式

加法:

this.moment().add(1, 'months').format('YYYY-MM-DD');? ? 

==>> 當前日期加一個月并輸出格式為 'YYYY-MM-DD'

加法:

this.moment(startDate).add(2, 'days').format('YYYY-MM-DD')? ? ? 

==>> 指定日期(startDate)加2天并輸出格式為 'YYYY-MM-DD'

減法:

this.moment().subtract(7, 'days');?

==>> 當前時間減去7天

加法:

this.moment(startDate).subtract(2, 'days').format('YYYY-MM-DD')? ? ? 

==>> 指定日期(startDate)加減去2天并輸出格式為 'YYYY-MM-DD'

4. 獲取某年某月的第一天或最后一天

獲取某年某月的第一天:startOf('month')、startOf('year')

moment(日期).startOf('month').format("YYYY-MM-DD")//日期可以是 年月的格式 也可以是年月日的格式
 
moment(日期).startOf('year').format("YYYY-MM-DD")

獲取某年某月的最后一天:endOf('month')、endOf('year')

moment(日期).endOf('month').format("YYYY-MM-DD")//日期可以是 年月的格式 也可以是年月日的格式
 
moment(日期).endOf('year').format("YYYY-MM-DD")

5. 獲取星期幾

獲取星期幾: this.moment().day()  或  this.moment(startDate).day()      ==>> 當前日期/指定日期 是星期幾(星期日為 0、星期六為 6

6. 獲取毫秒數

獲取毫秒數:this.moment().valueOf()  或  this.moment(startDate).valueOf()   

==>> 在獲取指定時間的毫秒數時,必須要有日期。即startDate包括日期時間

7. 獲取時間差(以毫秒計算)

兩個日期/時間的時差:

this.moment(endTime).diff(this.moment(startTime),'days' )

==>>  開始時間和結束時間的時間差,以“天”為單位;endTime和startTime都是毫秒數

this.moment(endTime).diff(this.moment(startTime), 'minutes')

==>>  開始時間和結束時間的時間差,以“分鐘”為單位

==>> 注意:計算時間差時,可以以 “years”、“days”、“hours”、“minutes” 以及 "seconds" 為單位輸出!

8. 兩個具體的日期之差(天數,也可以是年)

9. 獲取時、分、秒

原理:利用字符串的 split 方法拆分時分秒,然后分別用moment的 hour、minute 和 second 方法;帶有日期的可以用 .valueof() 方法。

const fixStart = '08:00:00'
 
const getHour = this.moment().hour(Number(fixStart.split(':')[0]));
const getMinute = this.moment().minute(Number(fixStart.split(':')[1]));
const getSecond = this.moment().second(Number(fixStart.split(':')[2]));
            
// 描述為0,直接寫出second(0)
const getHour_Minute_Second = this.moment().hour(Number(fixStart.split(':')[0])).minute(Number(fixStart.split(':')[1])).second(0);       
 
console.log('=====輸出',getHour,getMinute,getSecond,getHour_Minute_Second);

得到的結果都是moment.js 自身的時間格式??梢杂?format 轉換為自己想要的格式,也可以用 diff 方法做時間差的計算

10. 將毫秒數轉為時分秒

注意:毫秒轉為其他單位時,達到你想要轉的單位時,為1,超過時不管,不足時為0;

如4800000(80分鐘)

  • 轉為天:0
  • 轉為小時:1
  • 轉為分鐘:20
  • 轉為秒:0
const msTime = 4800000;        //80分鐘
 
moment.duration(msTime).hours();       //轉為小時,值為1
moment.duration(msTime).minutes();     //轉為分鐘,值為20
moment.duration(msTime).seconds();     //轉為秒,值為0

轉為其他單位:

moment.duration(msTime, 'seconds');        //轉為秒
moment.duration(msTime, 'minutes');        //轉為分
moment.duration(msTime, 'hours');          //轉為小時
moment.duration(msTime, 'days');           //轉為天
moment.duration(msTime, 'weeks');          //轉為周
moment.duration(msTime, 'months');         //轉為月
moment.duration(msTime, 'years');          //轉為年

對應的顯示格式:

11. 判斷一個日期是否在兩個日期之間  isBetween

語法:

this.moment().isBetween(moment-like, moment-like, String, String);

a. 不包含起始這兩個日期(只有兩個參數)   ==>> 中文網只有兩個參數

this.moment('2010-10-20').isBetween('2010-10-19', '2010-10-25'); // true
this.moment('2010-10-19').isBetween('2010-10-19', '2010-10-25'); // false
this.moment('2010-10-25').isBetween('2010-10-19', '2010-10-25'); // false

b. 自定義是否包含起始日期(四個參數,主要是第四個參數)   ==>> 英文網才有四個參數

第三個參數,固定為null;

第四個參數,字符串,( ) 表示不包含,[ ] 表示包含。右括號制開始日期,右括號控制結束日期

this.moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '()'); //false
this.moment('2016-10-30').isBetween('2016-10-30', '2016-12-30', null, '[)'); //true
this.moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '()'); //false
this.moment('2016-10-30').isBetween('2016-01-01', '2016-10-30', null, '(]'); //true
this.moment('2016-10-30').isBetween('2016-10-30', '2016-10-30', null, '[]'); //true

12. 判斷一個日期是否在另外一個日期 前 isBefore

語法: this.moment( end ).isBefore( start )  moment文檔

a. 默認比較日期

注意:兩個日期相同是,結果也是 false

moment('2022-04-20').isBefore('2022-04-25');  // true  => 第一個日期在第二個日期前
moment('2022-04-28').isBefore('2022-04-25');  // false => 第一個日期不在第二個日期前
moment('2022-04-25').isBefore('2022-04-25');  // false => 兩個日期相同

b. 第二個參數用于確定精度,因此可以指定檢查年份、月份、日期

moment('2010-10-20').isBefore('2010-12-31', 'year'); // false
moment('2010-10-20').isBefore('2011-01-01', 'year'); // true

總結

文章僅為本人學習過程的一個記錄,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 淺談js數據類型判斷與數組判斷

    淺談js數據類型判斷與數組判斷

    下面小編就為大家?guī)硪黄獪\談js數據類型判斷與數組判斷。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • JS給元素注冊事件的代碼

    JS給元素注冊事件的代碼

    麥雞的TAB切換功能代碼
    2008-10-10
  • Bootstrap表格制作代碼

    Bootstrap表格制作代碼

    這篇文章主要為大家詳細介紹了Bootstrap表格的制作代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 用函數式編程技術編寫優(yōu)美的 JavaScript

    用函數式編程技術編寫優(yōu)美的 JavaScript

    用函數式編程技術編寫優(yōu)美的 JavaScript...
    2006-11-11
  • Bootstrap每天必學之下拉菜單

    Bootstrap每天必學之下拉菜單

    Bootstrap每天必學之下拉菜單,本文講解的就是大家最為常用的下拉菜單操作,感興趣的小伙伴們可以參考一下
    2015-11-11
  • TypeScript實現單鏈表的示例代碼

    TypeScript實現單鏈表的示例代碼

    鏈表是一種物理存儲單元上非連續(xù)、非順序的存儲結構,本文主要介紹了TypeScript實現單鏈表的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • js實現模擬計算器退格鍵刪除文字效果的方法

    js實現模擬計算器退格鍵刪除文字效果的方法

    這篇文章主要介紹了js實現模擬計算器退格鍵刪除文字效果的方法,涉及javascript字符串截取操作的相關技巧,需要的朋友可以參考下
    2015-05-05
  • JavaScript中實現sprintf、printf函數

    JavaScript中實現sprintf、printf函數

    這篇文章主要介紹了JavaScript中實現sprintf、printf函數,這兩個函數在大多數編程語言中都有,但JS中卻沒有,本文介紹在js中實現這兩個函數功能,需要的朋友可以參考下
    2015-01-01
  • 淺談Javascript中的函數、this以及原型

    淺談Javascript中的函數、this以及原型

    下面小編就為大家?guī)硪黄獪\談Javascript中的函數、this以及原型。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 小程序webView實現小程序內嵌H5頁面的全過程

    小程序webView實現小程序內嵌H5頁面的全過程

    在微信小程序中內嵌H5頁面是一種常見的需求,因為H5頁面具有靈活性和跨平臺性,可以彌補小程序原生代碼的不足,這篇文章主要給大家介紹了關于小程序webView實現小程序內嵌H5頁面的相關資料,需要的朋友可以參考下
    2024-07-07

最新評論