在前端开发中,我们常常需要将时间格式化成易懂的语言,例如“一小时前”、“昨天下午三点钟”等。@types/fromnow 就是一个方便的 npm 包,可以将时间格式化成清晰易懂的语言。
安装
通过 npm 安装 @types/fromnow
npm install @types/fromnow --save
使用
在 TypeScript 中,要使用 @types/fromnow,需要引入:
import fromNow from 'fromnow';
然后,就可以使用 fromNow 执行时间格式化了。比如想要将时间转化为“昨天下午三点钟”的格式,可以这样写:
fromNow(Date.now() - 60 * 60 * 24 * 1000);
fromNow 函数参数需要传递一个时间戳,返回值为字符串,即格式化后的时间。
进阶应用
@types/fromnow 不仅仅是将时间格式化成清晰易懂的语言,还可以通过更多的参数进行自定义的控制。
全局选项
在 fromNow 函数中,可以打开或关闭不同的全局选项:
- includeSeconds: 是否包含秒(默认为 false)
- includeSuffix: 是否包含后缀(默认为 true)
- maxNowDelta: 显示当前时间的最大差值(毫秒,默认为 15000,即 15 秒)
- maxPastDelta: 显示过去时间的最大差值(毫秒,默认为 0)
将 includeSuffix 设置为 false,就可以去掉其中时间描述的“前”、“后”等后缀:
fromNow(Date.now() - 60 * 60 * 24 * 1000, { includeSuffix: false });
语言选项
除了全局选项外,还可以选择自定义的语言选项。大部分语言都支持两种时间表述:短语和数字。
// 简体中文 fromNow(Date.now() - 60 * 60 * 24 * 1000, { locale: 'zh-CN' }); // 昨天 fromNow(Date.now() - 60 * 60 * 24 * 1000, { locale: 'zh-CN', usePlural: false, }); // 1 天前
需要注意的是,@types/fromnow 默认使用英语。因此,如果需要使用非英语语言,需要安装对应的语言包。
示例代码
-- -------------------- ---- ------- ------ ------- ---- ---------- ------------------------------ - -- - -- - -- - ------- -- --------- ------------ ------------------ - -- - -- - -- - ----- - -------------- ----- -- -- -- --------- ------------------------------ - -- - -- - -- - ----- - ------- ------- ---- -- -- ------------ ------------------ - -- - -- - -- - ----- - ------- -------- ---------- ------ -- -- -- - --
@types/fromnow 是一个方便实用的 npm 包,可以让我们轻松将时间格式化成易懂的语言。通过全局选项和语言选项的应用,我们可以得到更加细致的时间格式化效果。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedc16bb5cbfe1ea0611dc1