你們在前端Javascript開發中會遇處處理日期時間的問題,常常會拿來一大堆處理函數才能完成一個簡單的日期時間顯示效果。今天我給你們介紹一個輕量級的Javascript日期處理類庫:moment.js,使用它能夠輕鬆解決前端開發中遇到的種種日期時間問題。html
moment.js不依賴任何第三方庫,支持字符串、Date、時間戳以及數組等格式,能夠像PHP的date()函數同樣,格式化日期時間,計算相對時間,獲取特定時間後的日期時間等等,本文有以下舉例。前端
安裝web
npm install moment --save # npm yarn add moment # Yarn Install-Package Moment.js # NuGet spm install moment --save # spm meteor add momentjs:moment # meteor bower install moment --save # bower (deprecated)
調用
import moment from 'moment';
瀏覽器npm
<script src="moment.js"></script>
<script>
moment().format();
</script>
當前時間:數組
moment().format('YYYY-MM-DD HH:mm:ss'); //2014-09-24 23:36:09
今天是星期幾:瀏覽器
moment().format('d'); //3
轉換當前時間的Unix時間戳:函數
moment().format('X');
20120901相對當前日期是2年前spa
moment("20120901", "YYYYMMDD").fromNow(); //2 years ago
7天前的日期:code
moment().subtract('days',7).format('YYYY年MM月DD日'); //2014年10月01日
7天后的日期:orm
moment().add('days',7).format('YYYY年MM月DD日'); //2014年10月01日
9小時前的時間:
moment().subtract('hours',9).format('HH:mm:ss');
9小時後的時間:
moment().add('hours',9).format('HH:mm:ss');
moment.js提供了豐富的說明文檔,使用它還能夠建立日曆項目等複雜的日期時間應用。咱們平常開發中最經常使用的是格式化時間,下面我把經常使用的格式製做成表格說明供有須要的朋友查看:
格式代碼 | 說明 | 返回值例子 |
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 |
更多有關moment.js的介紹,請訪問:
https://niefengjun.cn/blog/58b190dd42a0fa06046f4e7e56d99f6a.html