npm 包 fromnow 使用教程

阅读时长 4 分钟读完

简介

在前端开发中,我们常常需要对日期进行处理,如果我们要将日期字符串转换成某一种时间格式,我们可以使用 JavaScript 中自带的 Date 对象。使用 Date 对象可以轻松地将日期格式化,但如果要将日期转换成“几分钟前”或“一小时前”这样的相对时间格式,就需要在 JavaScript 中使用第三方库来完成。

其中,npm 上有一个非常好用的第三方库叫做 fromnow,它可以将时间转换成相对时间的格式。

安装

使用 npm 安装 fromnow 可以以简洁优雅的方式将其集成到你的项目中。

使用

以上三种情况分别输出:

fromnow 函数接受两个参数:

  • date 表示你需要转换的时间,可以是 Date 类型,时间戳类型,也可以是符合特定格式的字符串格式类型。
  • suffix 一个 boolean 类型的参数,在输出相对时间字符串的末尾添加一个“ago”的后缀,默认为 true。

例如,使用以下代码可以获取相对于指定时间的时间字符串:

输出结果为:

可选配置

fromnow 支持一些可选配置参数:

  • max: 可以控制最大返回时间范围。这个参数是一个数字类型,表示从当前时间或者指定时间往前的最大时间段。默认情况下,max 为 12 个月。如果 max 的值为 0,则返回 fromnow 的基于年份的输出(例如 2年、3年)。
  • suffix: 可以选择是否在返回值中包含“ago”或“remaining”字符串。如果 suffix 为 false,则不会添加“ago”或“remaining”到返回字符串末尾,默认为真。
  • zero: 可以选择零值的输出方式。默认情况下,当剩余时间为 0 时,output 参数值会返回空字符串。但是,如果 zero 设置为 true,则会输出“just now”或“now”(具体取决于 suffix 参数的值)。

例如,如果要获取一小时前的相对时间字符串,需要这样写:

输出:

如果想要获取四个月前的相对时间字符串,可以这样写:

输出:

注意,添加 max 属性时,返回的相对时间字符串中,月、周、天可能变为了年,这是因为 fromnow 中 day、week、month、year 的长度是等价的。

总结

以上就是关于 npm 上 fromnow 包的使用教程。使用 fromnow 可以轻松将日期转换成相对时间格式,方便用户阅读,提高用户体验。同时,fromnow 还支持一些可选的配置参数,可以修饰你的输出内容。

示例代码

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f116c17403f2923b035c26b

纠错
反馈