moment.js是一個JavaScript庫,讓你可以操作、解析和顯示日期和時間。它存在的主要目的是讓日期和時間的處理更加容易。
// 引入moment.js import moment from 'moment';
Vue在處理日期和時間的時候非常依賴moment.js,因為Vue不能很好地處理Date對象,所以需要使用moment.js來完成日期和時間的操作。如果你想要在Vue中格式化日期和時間,甚至是將Date對象轉換為ISO格式,就需要使用moment.js。
export default { data () { return { date: new Date() }; }, computed: { formattedDate () { return moment(this.date).format('YYYY-MM-DD'); }, isoDate () { return moment(this.date).toISOString(); } } };
在上面的代碼中,我們使用moment()創建了一個moment實例,然后使用format()方法格式化日期,將該格式化后的日期賦給了formattedDate。我們還使用了toISOString()方法來將Date對象轉換為ISO格式。
除了上面的這些基本的用法外,moment.js還有非常多的功能和用法:
1.顯示特定的日期或時間。
moment().format('MMMM Do YYYY, h:mm:ss a'); // 例如:August 23rd 2021, 9:47:32 pm moment().format('dddd'); // 例如:Monday moment().format("MMM Do YY"); // 例如:Aug 23rd 21 moment().format('YYYY [escaped] YYYY'); // 例如:2021 escaped 2021 moment().format(); // 例如:2021-08-23T21:47:32+08:00
2.相對時間。
moment("20210823", "YYYYMMDD").fromNow(); // 例如:2 hours ago moment("20210823", "YYYYMMDD").startOf('day').fromNow(); // 例如:14 hours ago moment().endOf('day').fromNow(); // 例如:in 13 hours moment().startOf('hour').fromNow(); // 例如:a few seconds ago
3.獲取當前時間。
moment().format();
4.設置語言和時區。
moment().locale('zh-cn'); moment().tz('America/Los_Angeles').format();
總之,moment.js非常強大,值得學習和使用。