返回

数据的时间格式你hold住了吗?

前端

前言

日常开发中,我们经常会涉及到时间控件这个东西,这时候为了得到我们想要的时间格式,我们就会去对数据进行各种处理以便于得到我们想要的格式。下面记录一下常用的处理时间的方式(基于moment.js)。

moment.js介绍

moment.js是一个轻量级的JavaScript日期库,它可以帮助我们轻松地处理日期和时间。moment.js有很多有用的方法,可以帮助我们格式化日期和时间、比较日期和时间、添加或减去日期和时间等。

常用方法

format()方法

format()方法可以将日期和时间格式化为我们想要的格式。

语法:

moment(date).format(formatString);

参数:

  • date:要格式化的日期或时间。
  • formatString:要使用的格式字符串。

返回值:

  • 一个格式化后的字符串。

例如:

moment().format('YYYY-MM-DD'); // "2023-03-08"
moment().format('HH:mm:ss'); // "15:04:05"
moment().format('YYYY-MM-DD HH:mm:ss'); // "2023-03-08 15:04:05"

parse()方法

parse()方法可以将字符串解析为日期和时间。

语法:

moment(string, formatString);

参数:

  • string:要解析的字符串。
  • formatString:要使用的格式字符串。

返回值:

  • 一个日期和时间对象。

例如:

moment('2023-03-08', 'YYYY-MM-DD'); // moment("2023-03-08")
moment('15:04:05', 'HH:mm:ss'); // moment("15:04:05")
moment('2023-03-08 15:04:05', 'YYYY-MM-DD HH:mm:ss'); // moment("2023-03-08 15:04:05")

add()方法和subtract()方法

add()方法和subtract()方法可以分别对日期和时间进行加减操作。

语法:

moment().add(value, unit);
moment().subtract(value, unit);

参数:

  • value:要加或减的值。
  • unit:要加或减的单位。

返回值:

  • 一个新的日期和时间对象。

例如:

moment().add(1, 'days'); // moment("2023-03-09")
moment().subtract(1, 'months'); // moment("2023-02-08")
moment().add(1, 'years').subtract(2, 'months'); // moment("2024-01-08")

diff()方法

diff()方法可以计算两个日期和时间之间的差值。

语法:

moment().diff(otherMoment, unit);

参数:

  • otherMoment:另一个日期和时间对象。
  • unit:要计算差值的单位。

返回值:

  • 一个差值。

例如:

moment('2023-03-09').diff(moment('2023-03-08'), 'days'); // 1
moment('15:04:05').diff(moment('15:03:05'), 'minutes'); // 1
moment('2023-03-09 15:04:05').diff(moment('2023-03-08 15:03:05'), 'seconds'); // 3600

结语

以上这些就是moment.js常用的处理时间的方法,你学会了吗?在实际开发中,我们可以根据自己的需求选择合适的方法来处理时间。