今天、现在

moment()

Date转moment

moment(new Date());

周几

`周${"日一二三四五六"[moment(date).day()]}`

format 格式化

日期时间

moment(new Date()).format("YYYY-MM-DD hh:mm:ss”)  // 2021-10-23 10:50:33

// HH 24小时制
moment(new Date()).format("YYYY-MM-DD HH:mm:ss”)  // 2021-10-23 23:50:33

星期

moment().format('dddd') // 星期

显示为xx前,yy内

const now = new Date(); // 当前时间
const futureDate = new Date(2022, 9, 1); // 未来时间

console.log(moment(now).fromNow()); // "a few seconds ago"
console.log(moment(futureDate).fromNow()); // "in a year"

// 语言设置‌:可以通过moment.locale('zh-cn')设置语言为中文,以便输出中文的相对时间格式。

增减时间

moment(new Date()).add(1,"days"); // 加1天
moment(new Date()).add(1,"weeks"); // 加1周
moment(new Date()).add(1,"months"); // 加1月
moment(new Date()).add(1,"years"); // 加1年

moment(new Date()).subtract(1,"days"); // 减1天
moment(new Date()).subtract(1,"weeks"); // 减1周
moment(new Date()).subtract(1,"months"); // 减1月
moment(new Date()).subtract(1,"years"); // 减1年

// 注意:add和subtract操作是对象操作,也就是会改变原对象
var time1 = moment(new Date());
var time2 = time1.add(1,"days");
// 如上所示,time1和time2实际是同一个对象

// momentjs 提供了clone() 方法
var time3 = time1.clone().add(1,"days");
// time3 是一个新对象

日历输出:日历格式为昨天、明天、下周三这种表达,去掉calendar就是正常格式返回

// 
 // days可以换成months、hours、seconds、years
 moment().subtract(10, 'days').calendar(); // 当前时间减10天,以日历时间格式返回————2021/03/28
 moment().subtract(6, 'days').calendar(); // 当前时间减6天,以日历时间格式返回————上星期四10:27
 moment().subtract(1, 'days').calendar(); // 前时间减1天,以日历时间格式返回————昨天10:27
 moment().calendar(); // 当前时间————今天10:27
 moment().add(1, 'days').calendar(); // 当前时间加1天,以日历时间格式返回————明天10:27
 moment().add(3, 'days').calendar(); // 当前时间加三天,以日历时间格式返回————下星期六10:27
 moment().add(10, 'days').calendar(); // 当前时间加10天,以日历时间格式返回————2021/04/17

日期的开始和结束

moment().startOf('day')
moment().endOf('day')

moment().startOf('week')  // 周日 0点0分0秒
moment().endOf('week') // 周六 23时59分59秒

moment().startOf('isoWeek') // 周一 0点0分0秒
moment().endOf('isoWeek') // 周日 23时59分59秒

moment().startOf('month')
moment().endOf('month')

获取与设置日期的各部分

// 不带参数为获取,带参数为设置
moment().day() // (0~6, 0: Sunday, 6: Saturday)
moment().weekday() // (0~6, 0: Sunday, 6: Saturday)
moment().isoWeekday() // (1~7, 1: Monday, 7: Sunday)

moment().date() // 某一天
moment().date(1) // 设置

moment().month()  // (0~11, 0: January, 11: December)
moment().month(1)

moment().year()
moment().year(2024)

moment().hour()
moment().hour(12)

moment().minute()
moment().minute(20)

moment().second()
moment().second(20)

moment().millisecond();
moment().millisecond(100);

moment().toArray() // [years, months, date, hours, minutes, seconds, milliseconds]
moment().toObject() // {years: xxxx, months: x, date: xx ...}

moment转原始Date

moment().toDate()
new Date(moment())

获得时间戳

moment().format('X') // 返回值为字符串类型
moment().unix() // 返回值为数值型