你們在項目中必定會遇到不少關於時間處理的問題,好比你想獲取一個本地時間格式爲YYYY-MM-DD,經常使用的方法是先拿到時間再用正則替換什麼的。比較麻煩,也比較費勁。每次都要弄。因此呢就想着有沒有什麼簡單的方法,以後就發現了一個輕量級的Javascript日期處理類庫:moment.js,使用它能夠輕鬆解決前端開發中遇到的種種日期時間問題。javascript
moment.js不依賴任何第三方庫,支持字符串、Date、時間戳以及數組等格式,能夠像PHP的date()函數同樣,格式化日期時間,計算相對時間,獲取特定時間後的日期時間等等,本文有以下舉例。前端
javascriptmoment().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
javascriptmoment("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'); //三天後的日期
javascriptmoment().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提供了豐富的說明文檔。咱們平常開發中最經常使用的是格式化時間,下面列舉一下全部的時間格式java
格式代碼 | 說明 | 例子 |
---|---|---|
YYYY | 4位數字年份 | 20十、2012 |
YY | 兩位數字年份 | 15 |
M | 月份的數字值沒有前導0 | 一、2...10 |
MM | 月份的數字值有前導0 | 0一、02...12 |
MMM | 三個字母縮寫的月份 | Jan到Dec |
MMM | 月份的英文全拼 | January到December |
Q | 返回如今是第幾個季度 | 一、二、三、4 |
D | 當前是幾號,沒有前導0 | 一、2...31 |
DDD | 一年中的第幾天 | 一、2...365 |
DD | 當前是幾號,有前導0 | 0一、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/數組
第一次寫博文,若有錯誤,歡迎糾正。(*^__^*)函數