時間處理工具 moment.js:管理時間和日期,so easy!

大家在項目中一定會遇到很多關於時間處理的問題,比如你想獲取一個本地時間格式爲YYYY-MM-DD,常用的方法是先拿到時間再用正則替換什麼的。比較麻煩,也比較費勁。每次都要弄。所以呢就想着有沒有什麼簡單的方法,之後就發現了一個輕量級的Javascript日期處理類庫:moment.js,使用它可以輕鬆解決前端開發中遇到的種種日期時間問題。

moment.js不依賴任何第三方庫,支持字符串、Date、時間戳以及數組等格式,可以像PHP的date()函數一樣,格式化日期時間,計算相對時間,獲取特定時間後的日期時間等等,本文有如下舉例。

格式化日期

moment().format('YYYY-MM-DD HH:mm:ss');     //2014-09-24 23:36:09獲取當前時間
moment().format('MMMM Do YYYY, h:mm:ss a'); // 七月 13日 2015, 10:53:40 上午
moment().format('dddd');                    // 星期一
moment().format("MMM Do YY");               // 7月 13日 15
moment().format('YYYY [escaped] YYYY');     // 2015 escaped 2015
moment().format();                          // 2015-07-13T10:53:40+08:00

相對時間

moment("20111031", "YYYYMMDD").fromNow(); // 2011年10月31日距離現在的時間
moment().startOf('day').fromNow();        // 今天過了多久
moment().endOf('day').fromNow();          // 還有幾個小時今天就結束了
moment().startOf('hour').fromNow();       //這個小時過去了幾分鐘
moment().add('days',3).format('YYYY-MM-DD'); //三天後的日期

多樣化的本地時間

moment().format('L');    // 2015-07-13   標準本地時間
moment().format('l');    // 2015-07-13
moment().format('LL');   // 2015年7月13日
moment().format('ll');   // 2015年7月13日
moment().format('LLL');  // 2015年7月13日上午10點55
moment().format('lll');  // 2015年7月13日上午10點55
moment().format('LLLL'); // 2015年7月13日星期一上午10點55
moment().format('llll'); //2015年7月13日星期一上午10點55

moment.js提供了豐富的說明文檔。我們日常開發中最常用的是格式化時間,下面列舉一下所有的時間格式

格式代碼 說明 例子
YYYY 4位數字年份 2010、2012
YY 兩位數字年份 15
M 月份的數字值沒有前導0 1、2...10
MM 月份的數字值有前導0 01、02...12
MMM 三個字母縮寫的月份 Jan到Dec
MMM 月份的英文全拼 January到December
Q 返回現在是第幾個季度 1、2、3、4
D 當前是幾號,沒有前導0 1、2...31
DDD 一年中的第幾天 1、2...365
DD 當前是幾號,有前導0 01、02...31
d 周幾 0、1...6,0表示週日,6表示週六
ddd 三個字母的周幾縮寫 Sun到Sat
dddd 周幾全拼 Sunday到Saturday
w 一年中的的幾周 eg:10代表第10周
A 上午或下午大寫 AM、PM
a 小午或下午大寫 am、pm
HH 小時,24小時制,有前導零 00、01...23
H 小時,24小時制,無前導零 0、1...23
hh 小時,12小時制,有前導零 00、01...12
hh 小時,12小時制,無前導零 0、1...12
mm 分鐘,有前導0 00、01...59
m 分鐘,無前導0 0、1...59
ss 秒,有前導0 00、01..59
s 秒,無前導0 0、1..59
X Unix時間戳(秒級) 1410715640.579
x Unix時間戳(毫秒級) 1410715640579

更多有關moment.js的介紹,請訪問項目官網:http://momentjs.com/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章