作为前端开发者,我们经常需要将日期和时间转换为人类可读的形式,比如将 "2022-02-20T18:00:00.000Z" 转换为 "3分钟前" 或者 "5天前"。而 @jacobmarshall/human-time 就是一个方便实用的 npm 包,帮助我们实现这样的转换。在本文中,我们将会学习它的使用方法,并且提供了一些实际开发中的示例代码。
安装
安装 @jacobmarshall/human-time 很简单,只需要在终端中输入如下命令即可:
npm install @jacobmarshall/human-time
基本用法
首先,让我们来看一下最基本的使用方法。在使用之前,需要引入该包:
import humanTime from '@jacobmarshall/human-time';
然后,我们可以使用 humanTime 函数将时间转换为人类可读的形式:
const currentTime = new Date(); console.log(humanTime(currentTime)); // 大概1分钟前
humanTime 函数默认将当前时间转换为 "几分钟前" 或者 "几小时前" 的人类可读形式。同时,我们也可以传入第二个参数,指定目标时间,实现时间的比较与转换。
const targetTime = new Date("2022-02-20T18:00:00.000Z"); console.log(humanTime(targetTime, currentTime)); // 大概3天后
配置语言和时区
@jacobmarshall/human-time 支持多种语言和时区,同时也支持自定义格式化模板。我们可以通过以下方式配置:
-- -------------------- ---- ------- -- ------- -------------- - -------- -- --------- --------------------------------- -- -------- ------------------- - - ----- ------ --------- ------- ---------------------------- ---- ---- --
完整示例
我们来看一个完整的示例代码,它实现了将时间转换为人类可读的形式,并且结合 Moment.js 库和 Lodash 库优化了代码。
-- -------------------- ---- ------- ------ --------- ---- ---------------------------- ------ ------ ---- --------- ------ - ---- --------- -- ------- -------------- - -------- ----- ---------- - ------ -- - ----- --- - --------- ----- ---------- - ------------- ----- -------- - -------------------------------------------------- -- --------- - --- - ------ ------------------------ - ---- -- --------- -- -- -- -------- - ----- - ----- ------- - ------------------- - ---- ------ ---------------- - ---- -- --------- -- ---- -- -------- - ------ - ----- ----- - ------------------- - ------ ------ -------------- - ---- - ----- ---- - ------------------- - ------- ------ ------------ - -- ---------------------------------------------------- -- ---
在这个示例代码中,我们结合了 Moment.js 库和 Lodash 库的一些方法和数据类型,优化代码的可读性和性能。同时,我们使用了 @jacobmarshall/human-time,将日期和时间转换为人类可读的形式,大大提升了用户体验。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066bc4967216659e2442de