资讯专栏INFORMATION COLUMN

timeago.js自动将时间戳转换为更易读的时间格式

zhoutao / 2200人阅读

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-time render supported.

Nodejs and browserjs supported.

Well tested.

Official website. 中文版说明文档点这里。 React version here: timeago-react. Python version here: timeago.

Such as

just now
12 seconds ago
3 minutes ago
2 hours ago
3 days ago
3 weeks ago
6 months ago
2 years ago

in 12 seconds
in 3 minutes
in 2 hours
in 24 days
in 6 months
in 2 years
1. Usage

1. Install timeago.js

npm install timeago.js

2. import timeago.js

ES6 style is supported, then get global object: timeago.

import timeago from "timeago.js";

// or

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

or link with script in html files:

3. Use class timeago

var timeagoInstance = new timeago();
timeagoInstance.format("2016-06-12");
2. Detailed Usage

1. Localization

Default locale is en, and the library supports en and zh_CN.

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

You can change the locale in the constructor or use the setLocale method;

var timeagoInstance = new timeago("zh_CN");
// or
new timeago().setLocale("zh_CN");

2. Set relative date

timeago is relative to the current date default. You can set it yourself.

var timeagoInstance = new timeago(null, "2016-06-10 12:12:12"); // set the relative date here.
timeagoInstance.format("2016-06-12", "zh_CN");

3. Use timestamp

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

4. Automatic rendering

HTML code:

js code

var timeagoInstance = new timeago();
// use render to render it in real time
timeagoInstance.render(document.querySelectorAll(".need_to_be_rendered"), "zh_CN");
// or cancel real-time render
timeagoInstance.cancel()

The input API render should be DOM object/array, pure javascript DOM node, and jQuery DOM object supported.

The API cancel will clear all the render timers and release all resources of the instance.

The DOM object should have the attribute datetime or data-timeago with date formated string.

5. Register local language

You can register your own language, this is a class static method. Like below, e.g.

// the local dict example is below.
var test_local_dict = function(number, index) {
  // number: the timeago / timein number;
  // index: the index of array below;
  return [
    ["just now", "a while"],
    ["%s seconds ago", "in %s seconds"],
    ["1 minute ago", "in 1 minute"],
    ["%s minutes ago", "in %s minutes"],
    ["1 hour ago", "in 1 hour"],
    ["%s hours ago", "in %s hours"],
    ["1 day ago", "in 1 day"],
    ["%s days ago", "in %s days"],
    ["1 week ago", "in 1 week"],
    ["%s weeks ago", "in %s weeks"],
    ["1 month ago", "in 1 month"],
    ["%s months ago", "in %s months"],
    ["1 year ago", "in 1 year"],
    ["%s years ago", "in %s years"]
  ][index];
};
// register your locale with timeago
timeago.register("test_local", test_local_dict);
// use the locale with timeago instance 
var timeagoInstance = new timeago();
timeagoInstance.format("2016-06-12", "test_local");

You can see locales dir for more locales.

Locale contributions are welcomed, thank you for submitting a GitHub pull request for corrections or additional languages. ^_^~

3. Contributions

The website is based on rmm5t/jquery-timeago which is a nice and featured project but depends on jQuery.

locale translations: The library needs more locale translations. You can:

Open an issue to write the locale translations, or submit a pull request. How to ? see en"s translation.

Please test the locale by exec npm test or node tests/locales_test.js. How to write testcase, see en"s test cases.

4. LICENSE

MIT

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

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

相关文章

  • 让你的代码更简短,更整洁,更读的ES6小技巧

    摘要:让你的代码更简短,更整洁,更易读的小技巧写在文章前面这篇文章翻译自文章就代码整洁方面对进行了总结。如果你正在使用的代码使用的语法,这个是你需要注意的事情。更多还提供了我们很多很多其他的方式来使我们的代码更简洁,更易读,以及更稳定。 让你的代码更简短,更整洁,更易读的ES6小技巧 写在文章前面 这篇文章翻译自ES6 tips and tricks to make your code cl...

    wpw 评论0 收藏0
  • 也许是最简洁好用的timeago.js库了

    摘要:地址项目主页是一个非常简洁轻量级小于的很简洁的库,用来将时间转化成类似于时间前的描述字符串,例如小时前。 timeago.js Github地址:https://github.com/hustcc/timeago.js 项目主页:http://timeago.org/ timeago.js 是一个非常简洁、轻量级、小于 2kb 的很简洁的Javascript库,用来将datetime时...

    DataPipeline 评论0 收藏0
  • Python中的对日期时间的处理

    摘要:中提供了一个和的模块可以用来做格式化日期和时间的。格式化日期通过模块中方法来格式化日期函数接收时间元组并返回以可读字符串表示薪资的时间格式的话由参数决定。每日宽度间隔为字符每行的长度为是每星期的行数。 我们可以通过学习在Python中对日期时间的处理,可以在快速的完成工作,比如: 将日期时间作为日志信息的内容输入 计算某一个功能的执行时间 用日期命名一个文件的名称 记录或者展示文件的...

    techstay 评论0 收藏0

发表评论

0条评论

zhoutao

|高级讲师

TA的文章

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