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

timeago.js

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

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

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

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

  • 以前 xxx 时间前、xxx 时间后;浏览器

  • 支持npm方式和浏览器script方式;测试

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

关于Python的版本,能够看 timeago.ui

Build Status npm npm npm

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

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

使用方法

1. 下载 timeago.js spa

npm install timeago.js

2. 引入 timeago.js code

使用import引入,而后能够获得一个全局变量: timeago.

import timeago from 'timeago.js';

// 或者

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

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

<script src="dist/timeago.min.js"></script>

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

相关文章
相关标签/搜索