简介
在前端开发中,常常需要将时间戳(Timestamp)转换为易读的文本,例如“一小时前”、“昨天”、“1月4日”,这个时候就需要用到 time-ago 这个 npm 包。time-ago 此外还能够自定义时间格式、本地化等等,可以满足不同的需求。
安装
在终端中输入以下命令安装 time-ago 包。
--- ------- -------- ------
使用
载入模块
使用 time-ago 需要先载入模块:
----- ------- - --------------------
转换时间戳
假设我们有一个时间戳值,可以使用以下代码来将其转换为易读的文本:
----- --------- - ---------- - -- - ----- -- ---- ----- ---- - ----------------------- -- ---- -- ------ ---- ------------------
可以看到,timeAgo.ago 接收一个时间戳,并返回对应的文本。在上述示例中,我们将当前时间戳往前推一分钟,并将其转换为了 "1 minute ago" 的文本。
timeAgo 还提供了很多其他的方法来转换时间戳,例如:
- timeAgo.minutesAgo(timestamp) - 返回分钟数前的文本
- timeAgo.hoursAgo(timestamp) - 返回小时数前的文本
- timeAgo.daysAgo(timestamp) - 返回天数前的文本
- timeAgo.weeksAgo(timestamp) - 返回周数前的文本
自定义格式
time-ago 还支持自定义时间格式,例如:
----- --------- - --- ---------- -- --- -- ---- - - - - - ----- --------------- - ------------------- --------- --- - -- - -- --- --- ----- ---- - ------------------------------- -- -- ----- - - - - -- ------------------
可以看到,在 Formatter 方法中可以传入一个对象,其中 template 属性描述了自定义格式的模板。在模板中,%s 表示一个变量,将被 time-ago 替换成对应的时间值。
本地化
time-ago 还支持本地化,只需要载入相应的语言模块即可。例如,如果需要将时间转换为中文文本,可以使用以下代码:
----- ------- - -------------------- ---------------------------------- -- -------- ----- --------- - ---------- - -- - ----- -- ---- ----- ---- - ----------------------- -- ---- ------ ------------------
可以看到,在载入中文语言模块之后,time-ago 会返回中文文本。
总结
time-ago 是一个十分实用的 npm 包,可以将时间戳转换为易读的文本。本文介绍了 time-ago 的基本使用方法,包括转换时间戳、自定义格式、本地化等等,希望能够对前端开发者有所帮助。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/67631