Moment.js 常用到的语法

Moment.js 是一个广泛使用的 JavaScript 日期处理库,它提供了丰富的 API 来解析、验证、操作和显示日期和时间。以下是一些 Moment.js 常用到的语法示例:

1. 初始化 Moment 对象

// 使用当前时间  
let now = moment();  
  
// 使用特定的日期时间字符串  
let specificDate = moment("2023-04-01T12:00:00");  
  
// 使用 Date 对象  
let dateObj = new Date();  
let fromDateObj = moment(dateObj);  
  
// 解析非标准格式的日期字符串  
let customFormat = moment("01-04-2023", "DD-MM-YYYY");

2. 格式化日期

let formattedDate = moment().format('YYYY-MM-DD HH:mm:ss');  
console.log(formattedDate); // 输出类似 "2023-04-01 12:00:00"  
  
// 自定义输出格式  
let customFormatted = moment().format('dddd, MMMM Do YYYY, h:mm:ss a');  
console.log(customFormatted); // 输出类似 "Saturday, April 1st 2023, 12:00:00 pm"

3. 日期操作

// 添加时间  
let futureDate = moment().add(7, 'days');  
console.log(futureDate.format('YYYY-MM-DD')); // 输出未来7天的日期  
  
// 减去时间  
let pastDate = moment().subtract(1, 'months');  
console.log(pastDate.format('YYYY-MM-DD')); // 输出上个月的今天  
  
// 开始和结束时间  
let startOfMonth = moment().startOf('month');  
let endOfMonth = moment().endOf('month');  
console.log(startOfMonth.format('YYYY-MM-DD'));  
console.log(endOfMonth.format('YYYY-MM-DD'));

4. 日期比较

let date1 = moment("2023-04-01");  
let date2 = moment("2023-05-01");  
  
// 是否相等  
if (date1.isSame(date2)) {  
    console.log('Dates are the same');  
} else {  
    console.log('Dates are not the same');  
}  
  
// 是否在某个时间之前  
if (date1.isBefore(date2)) {  
    console.log('Date1 is before Date2');  
}  
  
// 是否在某个时间之后  
if (date2.isAfter(date1)) {  
    console.log('Date2 is after Date1');  
}

5. 日期差异

let start = moment("2023-01-01");  
let end = moment("2023-04-01");  
  
// 获取两个日期之间的差异(以天为单位)  
let diffDays = end.diff(start, 'days');  
console.log(diffDays); // 输出 90 或类似值  
  
// 也可以获取月份、年份等差异  
let diffMonths = end.diff(start, 'months');  
let diffYears = end.diff(start, 'years');  
console.log(diffMonths);  
console.log(diffYears);

6. 日期查询

let today = moment();  
  
// 是否是周末  
if (today.isWeekend()) {  
    console.log('Today is a weekend');  
}  
  
// 今天是星期几(数字形式,0代表星期天,6代表星期六)  
let dayOfWeek = today.day();  
console.log(dayOfWeek);  
  
// 今天是几月几号  
let month = today.month() + 1; // 注意月份是从0开始的  
let date = today.date();  
console.log(month + '/' + date);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值