一、傳遞秒數
我們知道,在JavaScript中創建日期對象的方式有多種,其中一種是將時間戳傳遞給Date構造函數。在Moment.js中也提供了相應的接口來構造Moment對象。使用moment.unix(timestamp)函數可以創建一個將時間戳轉換為UTC日期的Moment對象。
使用moment.format函數可以將日期對象格式化為字符串。當我們傳遞參數作為第一個參數時,Moment.js會根據格式字符串自動將日期對象轉換為本地時間。下面是一個示例,我們將時間戳轉換為對應的日期和時間字符串:
const timestamp = 1499392237; const date = moment.unix(timestamp); const dateString = date.format('YYYY-MM-DD HH:mm:ss'); console.log(dateString); // Output: 2017-07-07 07:10:37
在上面的代碼中,我們使用moment.unix函數創建了一個日期對象,使用format函數將日期轉換為日期字符串。format函數的參數是一個格式字符串,它將會根據該格式字符串來轉換日期對象。在這個示例中,我們使用了’YYYY-MM-DD HH:mm:ss’這個格式字符串來將日期對象轉換為2017-07-07 07:10:37這個字符串。
二、格式化日期和時間字符串
使用moment.format函數可以將日期對象轉換為字符串,格式字符串就是將日期對象轉換為字符串時所需的模板。下面是Moment.js支持的所有格式化字符串的列表:
- Year: YYYY (eg 2019)
- Month: MM (eg 07)
- Day of Month: DD (eg 23)
- Hour: HH (eg 14)
- Minute: mm (eg 28)
- Second: ss (eg 45)
- Timezone offset: Z or ZZ (eg +0600)
- AM/PM: A (eg PM)
- Unix timestamp: X (eg 1563454556)
下面是一個格式化示例,將日期對象轉換為YY年MM月DD日格式的字符串:
const date = moment('2019-07-23T14:28:45.000Z'); const dateString = date.format('YY年MM月DD日'); console.log(dateString); // Output: 19年07月23日
在上面的代碼中,我們使用moment函數創建一個Moment對象,使用format函數將日期對象轉換為19年07月23日這樣的字符串。
三、應用Moment.js內置的格式常量
Moment.js提供了一些內置的格式常量,可以使開發者更容易的格式化日期。這些常量包括:
- moment.ISO_8601:標準的ISO8601日期格式(eg “2013-02-08T09:30:26.123Z”)
- moment.RFC_2822:RFC 2822日期格式(eg “Fri, 08 Feb 2013 09:30:26 GMT”)
- moment.DATETIME_LOCAL:用於表單的本地日期時間(eg “2013-02-08T09:30″)
- moment.DATETIME_LOCAL_SECONDS:用於表單的本地日期時間,包括秒數(eg “2013-02-08T09:30:26″)
- moment.DATE:日期部分(eg “2013-02-08″)
- moment.TIME:時間部分(eg “09:30:26″)
下面是一個使用moment.ISO_8601的示例:
const date = moment('2013-02-08T09:30:26.123Z'); const dateString = date.format(moment.ISO_8601); console.log(dateString); // Output: 2013-02-08T09:30:26.123Z
四、其他格式化字符串的應用
除了常用的日期格式外,Moment.js還提供了許多其他日期和時間格式。下面是一些實用的示例:
1. 格式化時間差
Moment.js提供了fromNow函數,可以將日期格式化為「多少時間前」的格式,非常適合顯示文章的發表時間、評論的留言時間等。下面是一個示例:
const date = moment('2021-09-01T12:00:00'); const fromNowString = date.fromNow(); console.log(fromNowString); // Output: in 2 days
2. 格式化時區
當我們需要知道本地時間和UTC時間之間的偏移量時,可以使用z或者Z格式。下面是一個示例:
const date = moment('2021-09-01T12:00:00+08:00'); const timezoneOffset = date.format('Z'); console.log(timezoneOffset); // Output: +08:00
3. 格式化星期幾
Moment.js可以使用’dddd’格式來格式化星期幾,下面是一個示例:
const date = moment('2021-09-01'); const weekdayString = date.format('dddd'); console.log(weekdayString); // Output: Wednesday
4. 格式化季度
Moment.js可以使用’Q’格式來格式化季度,下面是一個示例:
const date = moment('2021-09-01'); const quarterString = date.format('Q'); console.log(quarterString); // Output: 3
結語
Moment.js是一個非常受歡迎的JavaScript日期處理庫,它提供了很多實用的API,方便我們處理日期和時間。本文介紹了Moment.js中的moment.format函數,通過多個方面的詳細闡述,展示了Moment.js中格式化方法的靈活性和強大功能。希望這篇文章可以幫助讀者更好的理解moment.format函數的應用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/303663.html