资讯专栏INFORMATION COLUMN

也许是最简洁好用的timeago.js库了

DataPipeline / 1338人阅读

摘要:地址项目主页是一个非常简洁轻量级小于的很简洁的库,用来将时间转化成类似于时间前的描述字符串,例如小时前。

timeago.js

Github地址:https://github.com/hustcc/timeago.js

项目主页:http://timeago.org/

timeago.js 是一个非常简洁、轻量级、小于 2kb 的很简洁的Javascript库,用来将datetime时间转化成类似于*** 时间前的描述字符串,例如:“3小时前”。

本地化支持,默认自带中文和英文语言,基本够用;

之前 xxx 时间前、xxx 时间后;

支持npm方式和浏览器script方式;

测试用例完善,执行良好;

关于Python的版本,可以看 timeago.

刚刚
12秒前
3分钟前
2小时前
24天前
6月前
3年前

12秒后
3分钟后
2小时后
24天后
6月后
3年后
使用方法

1. 下载 timeago.js

npm install timeago.js

2. 引入 timeago.js

使用import引入,然后可以得到一个全局变量: timeago.

import timeago from "timeago.js";

// 或者

var timeago = require("timeago.js");

或者直接通过 script 标签引入到html文件中.

3. 使用 timeago

var timeago = timeago();
timeago.format("2016-06-12")
高级特性使用

1. 本地化

默认的语言是英文 en, 这个库自带语言有 en and zh_CN (英文和中文).

var timeago = timeago();
timeago.format("2016-06-12", "zh_CN");

2. 注册本地语言

你可以自己自定义注册 register 你自己的语言. 如下所示,所有的键值都必须存在,不然可能会出错. e.g.

// 本地化的字典样式
var test_local_dict = {
  "JUST_NOW": ["just now", "a while"],
  "SECOND_AGO": ["%s seconds ago", "in %s seconds"],
  "A_MINUTE_AGO": ["1 minute ago", "in 1 minute"],
  "MINUTES_AGO": ["%s minutes ago", "in %s minutes"],
  "AN_HOUR_AGO": ["1 hour ago", "in 1 hour"],
  "HOURS_AGO": ["%s hours ago", "in %s hours"],
  "A_DAY_AGO": ["1 day ago", "in 1 day"],
  "DAYS_AGO": ["%s days ago", "in %s days"],
  "A_MONTH_AGO": ["1 month ago", "in 1 month"],
  "MONTHS_AGO": ["%s months ago", "in %s months"],
  "A_YEAR_AGO": ["1 year ago", "in 1 year"],
  "YEARS_AGO": ["%s years ago", "in %s years"]
}

var timeago = timeago();
timeago.register("test_local", test_local_dict);

timeago.format("2016-06-12", "test_local");

3. 设置相对日期

timeago 默认是相对于当前事件的,当然也可以自己设置相对的时间,如下所示:

var timeago = timeago("2016-06-10 12:12:12"); // 在这里设置相对时间
timeago.format("2016-06-12", "zh_CN");

4. 格式化时间戳

timeago().format(new Date().getTime() - 11 * 1000 * 60 * 60); // will get "11 hours ago"
TODO

一个网站的展示页面

LICENSE

MIT

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79744.html

相关文章

  • 一个微型 Javascript 开源项目如何在 4 天到 1000 star ?

    摘要:就在这次天内,数量瞬间达到,自己还是很激动的。然后就是等着其他开发人员给你提意见建议,然后积极响应和修改吧。 这里要提到的是我之前从项目抽离出来的微型 Javascript 项目 timeago.js,为什么是微型,因为他还不到 2kb,这个也是做这个项目的原因之一。 已有的类似项目不是一般都依赖 jQuery 和 moment.js,实际上仅仅用到其中的选择器、一个日期方法(from...

    jsdt 评论0 收藏0
  • timeago.js自动将时间戳转换为更易读时间格式

    timeago.js timeago.js is a simple library (less than 2 kb) that is used to format datetime with *** time ago statement. eg: 3 hours ago. Localization supported. Time ago and time in supported. Real-t...

    zhoutao 评论0 收藏0
  • 怎么开发并发布一个可用 JavaScript 模块 ?

    摘要:但是,我们发布之前,需要做一些持续集成和单元测试,用来保证代码的正确性,稳定性。 Javascript 那么流行,作为一个前端开发者,或者前端入门者,发布一个正式可用的 Javascript 模块,对于自己来说应该成长很大。下面就以一个简单的 Javascript 模块 filesize.js 来介绍 github、travis-ci、npm 这些内容的组合使用。 一、目标概览 本文将...

    TANKING 评论0 收藏0
  • 精彩文章大合集- 收藏集 - 掘金

    摘要:发布应用市场的平台抢红包工具红包精灵开源啦掘金红包精灵,如果喜欢,点个开源不易。作者将原素材文章进行了新内容的添加和重新排列,但是因为文章高效的代码编写技巧总结前端掘金本文总结了代码编写技巧,来提升你的和代码。 收藏安卓开发中非常实用优秀的库! 有图有真相! - Android - 掘金本来是打算收藏工具类的,但转念一想,已经有这么多优秀的库了,就没必要再去重复造轮子了,便归纳工作中比...

    ermaoL 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<