moment日期格式化插件

Moment.js是一個輕量級的JavaScript時間庫,它方便了平常開發中對時間的操做,提升了開發效率。平常開發中,一般會對時間進行下面這幾個操做:好比獲取時間,設置時間,格式化時間,比較時間等等。下面就是我對moment.js使用過程當中的整理,方便之後查閱。npm

1、引入moment.js

1.Node.js方式引入

(1)安裝瀏覽器

npm install moment  或者  yarn add moment

(2)引入ui

// require 方式
var moment = require('moment');

// import 方式
import moment from 'moment'; 

2.瀏覽器方式引入

<script src="moment.js"></script>

2、設定moment區域爲中國

複製代碼
// require 方式
require('moment/locale/zh-cn')
moment.locale('zh-cn'); 

// import 方式
import 'moment/locale/zh-cn'
moment.locale('zh-cn');   
複製代碼

3、使用

1.獲取時間

(1)獲取當前時間spa

moment()

(2)獲取今天0時0分0秒unix

moment().startOf('day')

(3)獲取本週第一天(週日)0時0分0秒code

moment().startOf('week')

(4)獲取本週週一0時0分0秒orm

moment().startOf('isoWeek')

(5)獲取當前月第一天0時0分0秒對象

moment().startOf('month')

(6)獲取今天23時59分59秒blog

moment().endOf('day')

(7)獲取本週最後一天(週六)23時59分59秒ip

moment().endOf('week')

(8)獲取本週週日23時59分59秒

moment().endOf('isoWeek')

(9)獲取當前月最後一天23時59分59秒

moment().endOf('month')

(10)獲取當前月的總天數

moment().daysInMonth() 

(11)獲取時間戳(以秒爲單位)

moment().format('X') // 返回值爲字符串類型
moment().unix() // 返回值爲數值型

(12)獲取時間戳(以毫秒爲單位)

moment().format('x') // 返回值爲字符串類型
moment().valueOf() // 返回值爲數值型

(13)獲取年份

moment().year()
moment().get('year')

(14)獲取月份

moment().month()  // (0~11, 0: January, 11: December)
moment().get('month')

(15)獲取一個月中的某一天

moment().date()
moment().get('date')

(16)獲取一個星期中的某一天

moment().day() // (0~6, 0: Sunday, 6: Saturday)
moment().weekday() // (0~6, 0: Sunday, 6: Saturday)
moment().isoWeekday() // (1~7, 1: Monday, 7: Sunday)
moment().get('day')
mment().get('weekday')
moment().get('isoWeekday')

(17)獲取小時

moment().hours()
moment().get('hours')

(18)獲取分鐘

moment().minutes()
moment().get('minutes')

(19)獲取秒數

moment().seconds()
moment().get('seconds')

(20)獲取當前的年月日時分秒

moment().toArray() // [years, months, date, hours, minutes, seconds, milliseconds]
moment().toObject() // {years: xxxx, months: x, date: xx ...}

2.設置時間

(1)設置年份

moment().year(2019)
moment().set('year', 2019)
moment().set({year: 2019})

(2)設置月份

moment().month(11)  // (0~11, 0: January, 11: December)
moment().set('month', 11) 

(3)設置某個月中的某一天

moment().date(15)
moment().set('date', 15)

(4)設置某個星期中的某一天

moment().weekday(0) // 設置日期爲本週第一天(週日)
moment().isoWeekday(1) // 設置日期爲本週週一
moment().set('weekday', 0)
moment().set('isoWeekday', 1)

(5)設置小時

moment().hours(12)
moment().set('hours', 12)

(6)設置分鐘

moment().minutes(30)
moment().set('minutes', 30)

(7)設置秒數

moment().seconds(30)
moment().set('seconds', 30)

(8)年份+1

moment().add(1, 'years')
moment().add({years: 1})

(9)月份+1

moment().add(1, 'months')

(10)日期+1

moment().add(1, 'days')

(11)星期+1

moment().add(1, 'weeks')

(12)小時+1

moment().add(1, 'hours')

(13)分鐘+1

moment().add(1, 'minutes')

(14)秒數+1

moment().add(1, 'seconds')

(15)年份-1

moment().subtract(1, 'years')
moment().subtract({years: 1})

(16)月份-1

moment().subtract(1, 'months')

(17)日期-1

moment().subtract(1, 'days')

(18)星期-1

moment().subtract(1, 'weeks')

(19)小時-1

moment().subtract(1, 'hours')

(20)分鐘-1

moment().subtract(1, 'minutes')

(21)秒數-1

moment().subtract(1, 'seconds')

3.格式化時間

格式代碼 說明 返回值例子
M 數字表示的月份,沒有前導零 1到12
MM 數字表示的月份,有前導零 01到12
MMM 三個字母縮寫表示的月份 Jan到Dec
MMMM 月份,完整的文本格式 January到December
Q 季度 1到4
D 月份中的第幾天,沒有前導零 1到31
DD 月份中的第幾天,有前導零 01到31
d 星期中的第幾天,數字表示 0到6,0表示週日,6表示週六
ddd 三個字母表示星期中的第幾天 Sun到Sat
dddd 星期幾,完整的星期文本 從Sunday到Saturday
w 年份中的第幾周 如42:表示第42周
YYYY 四位數字完整表示的年份 如:2014 或 2000
YY 兩位數字表示的年份 如:14 或 98
A 大寫的AM PM AM PM
a 小寫的am pm am pm
HH 小時,24小時制,有前導零 00到23
H 小時,24小時制,無前導零 0到23
hh 小時,12小時制,有前導零 00到12
h 小時,12小時制,無前導零 0到12
m 沒有前導零的分鐘數 0到59
mm 有前導零的分鐘數 00到59
s 沒有前導零的秒數 1到59
ss 有前導零的描述 01到59
X Unix時間戳 1411572969

(1)格式化年月日: 'xxxx年xx月xx日'

moment().format('YYYY年MM月DD日')

(2)格式化年月日: 'xxxx-xx-xx'

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

(3)格式化時分秒(24小時制): 'xx時xx分xx秒'

moment().format('HH時mm分ss秒')

(4)格式化時分秒(12小時制):'xx:xx:xx am/pm'

moment().format('hh:mm:ss a')

(5)格式化時間戳(以毫秒爲單位)

moment().format('x') // 返回值爲字符串類型

4.比較時間

(1)獲取兩個日期之間的時間差

複製代碼
let start_date = moment().subtract(1, 'weeks')
let end_date = moment()

end_date.diff(start_date) // 返回毫秒數

end_date.diff(start_date, 'months') // 0
end_date.diff(start_date, 'weeks') // 1
end_date.diff(start_date, 'days') // 7
start_date.diff(end_date, 'days') // -7
複製代碼

5.轉化爲JavaScript原生Date對象

moment().toDate()
new Date(moment())
相關文章
相關標籤/搜索