使用moment.js輕鬆管理日期和時間
##格式化日期
當前時間:
moment().format('YYYY-MM-DD HH:mm:ss'); //2014-09-24 23:36:09
今天是星期幾:
moment().format('d'); //3
轉換當前時間的Unix時間戳:
moment().format('X');
##相對時間
20120901相對當前日期是2年前
moment("20120901", "YYYYMMDD").fromNow(); //2 years ago
7天前的日期:
moment().subtract('days',7).format('YYYY年MM月DD日'); //2014年10月01日
7天后的日期:
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 寫法示例
Moment.js 是我用過的最好用的操作時間的工具庫。它使得操作時間變得很簡單。
##建立
moment() // 當前時間
moment("1995-12-25") // 1995-12-25
moment("12-25-1995", "MM-DD-YYYY") // 1995-12-25
moment({ year :2010, month :3, day :5, hour :15, minute :10, second :3, millisecond :123})
moment(Date.now() - 24 * 60 * 60 * 1000) // 昨天
moment(new Date(2011, 9, 16)) // 2011-10-16
##格式化
moment().format('YYYY年MM月DD日 HH:mm:ss') // 2016年11月11日 22:05:19
moment().format('hh:m:ss') // 10:5:19
moment().format('[YYYY]') // "YYYY"。[] 裡的會原樣輸出。
##轉化成 Date 物件
moment().toDate()
##獲取/設定時間資訊
moment().second() //獲得 秒
moment().second(Number) //設定 秒。0 到 59
moment().minute() //獲得 分
moment().minute(Number) //設定 分。0 到 59
// 類似的用法
moment().hour() // 小時
moment().date() // 一個月裡的第幾天
moment().day() // 星期幾
moment().dayOfYear() // 一年裡的第幾天
moment().week() // 一年裡的第幾周
moment().month() // 第幾個月
moment().quarter() // 一年裡的第幾個季度
moment().year() // 年
moment().daysInMonth() // 當前月有多少天
##操作
moment().add(7, 'days') // 之後的第7天。第2個引數還可以是 'months', 'years' 等。注意是複數。
moment().add(7, 'd')// 與上面一行程式碼的執行結果一樣。
moment().subtract(1, 'months') // 上個月
moment().startOf('week') // 這周的第一天
moment().startOf('hour') // 等效與 moment().minutes(0).seconds(0).milliseconds(0)。
// 還支援 'year','month' 等
moment().endOf('week')
##查詢
// 早於
moment('2010-10-20').isBefore('2010-10-21') // true
moment('2010-10-20').isBefore('2010-12-31', 'year') // false
moment('2010-10-20').isBefore('2011-01-01', 'year') // true
// 是否相等
moment('2010-10-20').isSame('2010-10-20') // true
moment('2010-10-20').isSame('2009-12-31', 'year') // false
moment('2010-10-20').isSame('2010-01-01', 'year') // true
// 晚於
moment('2010-10-20').isAfter('2010-10-19') // true
moment('2010-10-20').isAfter('2010-01-01', 'year') // false
moment('2010-10-20').isAfter('2009-12-31', 'year') // true
// 是否在時間範圍內
moment('2010-10-20').isBetween('2010-10-19', '2010-10-25') // true
moment('2010-10-20').isBetween('2010-01-01', '2012-01-01', 'year') // false
moment('2010-10-20').isBetween('2009-12-31', '2012-01-01', 'year') // true
moment().isLeapYear() // 是否是閏年
相關文章
- Java 日期和時間 API:實用技巧與示例 - 輕鬆處理日期和時間JavaAPI
- Moment.js時間JS
- 日期和時間
- Python之時間和日期使用小結Python
- 日期和時間格式
- Python 日期和時間Python
- Java日期和時間Java
- datetime日期和時間
- ⏰Day.js 2kB超輕量時間庫 和Moment.js一樣的APIJSAPI
- 格式化時間 moment.jsJS
- 使用 `useAppConfig` :輕鬆管理應用配置APP
- Qt:獲取日期和時間QT
- 【Python基礎】日期和時間Python
- Pandas中時間和日期處理
- Java 8 日期和時間的APIJavaAPI
- GO語言————4.8 時間和日期Go
- MySQL 的日期和時間函式MySql函式
- 字串和日期時間的處理字串
- win10如何修改時間日期格式 調整時間格式和日期格式的方法Win10
- iOS日期時間iOS
- 日期時間類
- 細說PHP筆記08(第12章)--日期和時間,建立時間戳,mktime轉換unix時間戳,獲取字串時間,獲得日期和時間資訊,日期和時間格式化輸出,microtime()獲取微秒數PHP筆記時間戳字串
- 使用Rainbond部署Logikm,輕鬆管理Kafka叢集AIKafka
- SQL Server中的日期和時間:DATEADD()SQLServer
- 讓history命令顯示日期和時間
- Python 輸出當前日期和時間Python
- Go基礎-時間和日期函式Go函式
- XSD 日期和時間資料型別資料型別
- JavaScript 日期和時間的格式化JavaScript
- MySQL日期和時間函式彙總MySql函式
- PHP最佳實踐之日期、時間和時區PHP
- 看動畫輕鬆理解時間複雜度(一)動畫時間複雜度
- 看動畫輕鬆理解時間複雜度(二)動畫時間複雜度
- App Cleaner & Uninstaller:釋放Mac空間,輕鬆管理應用APPMac
- 一個日期處理類庫moment.jsJS
- 輕輕鬆鬆實現本地和雲主機之間的檔案上傳下載
- JavaScript 時間日期操作JavaScript
- JDK1.8-新的日期和時間APIJDKAPI