这些moment.js常用方法,让你开发更省心

649 阅读1分钟

1、判断日期是否相等

moment('2020-12-29').isSame(moment().format('YYYY-MM-DD'));

2、返回unix时间戳

moment().unix(); // number
// 或
moment().format('X'); // string

3、返回毫秒时间戳

moment().valueOf(); // number
// 或
moment().format('x'); // string

4、返回一开的开始时间

moment().startOf('day').format('YYYY-MM-DD HH:mm:ss'); // 2020-12-30 00:00:00

结束使用 endOf

5、两日期相差多少天

moment('2020-12-30').diff(moment('2020-12-28'), 'days'); // 2

6、加一天

moment().add(1, 'days');

减使用 subtract

7、antd初始时间

<FormItem label="时间">
  {getFieldDecorator("hm", {
    initialValue: moment(detail.hm, "HHmm"), // detail.hm:1030 (10点30)
  })(
    <TimePicker
      format={"HHmm"}
    />
  )}
</FormItem>

8、毫秒转时分秒

var diffMilliseconds = moment('2021-03-12 10:41:02') - moment('2021-03-12 10:39:02');
var duration = moment.duration(diffMilliseconds);
var formatTime = moment({
                    h: duration.hours(),
                    m: duration.minutes(),
                    s: duration.seconds(),
                  }).format("HH时mm分ss秒");

9、时分秒转毫秒

moment.duration('01:01:00').asMilliseconds(); // 3660000

10、17位时间转时间戳

moment('20210329022521246', 'YYYYMMDDHHmmssSSS').unix();

11、判断是否是今天

moment(targetTime).isSame(todayTime, 'd');
// 示例
moment(moment().subtract(1, 'd').valueOf()).isSame(Date.now(), 'd'); // false

12、国际化

// 全局
moment.locale('en');
moment.locale('zh-cn');

// 局部
moment().locale('zh-cn').fromNow();

13、年周转换为日期

var yearWeeks = '2022-1'
var year = yearWeeks.substr(0, 4)
var weeks = yearWeeks.substr(5)
var date = moment(year).add(weeks, 'w').format('YYYY-MM-DD') // 2022-01-08

14、秒转天时分秒

const d = moment.duration(2703750, 'seconds')
console.log(`${Math.floor(d.asDays())}${d.hours()}${d.minutes()}${d.seconds()}秒`) // 31天7时2分30秒

最新内容请看原文链接:fenxianglu.cn/note/detail…