介绍
在前端开发密集型的项目中,时间的转换和计算是一个常见的需求。而 moment.js 库正是为此而生,它是一个用来解析、处理和格式化日期和时间的 JavaScript 库。但是,它也有一定的缺陷。经常使用的一些时间转换方法,虽然比较基础,但是需要编写一些重复的代码来转换时间。这时候,我们可以借助 helper-moment 这个 npm 包来解决这个问题。
helper-moment 是在 moment.js 的基础上封装的 npm 包,它提供了一些常用的时间格式转换的方法,可以大幅度提高我们的开发效率。
安装
在使用 helper-moment 之前,我们需要先进行安装。只需要在终端中运行以下命令即可:
npm install helper-moment --save
这里我使用的是 npm,当然也可以使用 yarn,根据自己的习惯来选择即可。
使用
安装完成后,我们需要将其引入到项目中:
import moment from 'moment'; import { timestampToDateTime } from 'helper-moment';
这里我们使用了解构赋值,只引入了需要使用的方法。接下来,我们就可以使用这个包了。
方法介绍
helper-moment 提供了几个常用的方法。
timestampToDateTime(time)
将时间戳转换成指定格式的字符串。
参数:
- time:要转换的时间戳,可以是字符串或数字。
示例代码:
const time = 1539688229000; const dateTime = timestampToDateTime(time, "YYYY-MM-DD HH:mm:ss"); console.log(dateTime); // 输出 "2018-10-16 14:17:09"
secondsToTime(seconds)
将秒数转换成指定格式的字符串。
参数:
- seconds:要转换的秒数,可以是字符串或数字。
示例代码:
const seconds = 12345; const time = secondsToTime(seconds, "hh:mm:ss"); console.log(time); // 输出 "03:25:45"
durationToTime(duration)
将时间间隔转换成指定格式的字符串。
参数:
- duration:要转换的时间间隔,可以是 moment.duration 对象或毫秒数。
示例代码:
const duration = moment.duration(12345); console.log(durationToTime(duration)); // 输出 "03:25:45"
durationToTimestamp(duration)
将时间间隔转换成毫秒数。
参数:
- duration:要转换的时间间隔,可以是 moment.duration 对象或毫秒数。
示例代码:
const duration = moment.duration(3, 'hours'); console.log(durationToTimestamp(duration)); // 输出 10800000
timeToTimestamp(time)
将时间字符串转换成毫秒数。
参数:
- time:要转换的时间字符串,格式需与 format 参数匹配。
示例代码:
const time = "2021-07-02 16:32:10"; console.log(timeToTimestamp(time, "YYYY-MM-DD HH:mm:ss")); // 输出 1625221930000
总结
在项目中,我们经常会遇到各种各样的时间转换问题,如果每次都需要编写重复的代码,这不仅浪费时间,还很容易出错。使用 helper-moment,可以让我们在更短的时间内完成时间的转换,提高开发效率。同时,helper-moment 的源码较为简单,可以帮助初学者更好地理解和学习 moment.js 库。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/71139