也許是最簡潔好用的timeago.js庫了

timeago.js

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

timeago.js 是一個很是簡潔、輕量級、小於 2kb 的很簡潔的Javascript庫,用來將datetime時間轉化成相似於*** 時間前的描述字符串,例如:「3小時前」。git

  • 本地化支持,默認自帶中文和英文語言,基本夠用;
  • 以前 xxx 時間前、xxx 時間後;
  • 支持npm方式和瀏覽器script方式;
  • 測試用例完善,執行良好;

關於Python的版本,能夠看 timeago.github

Build Status npm npm npm

剛剛
12秒前
3分鐘前
2小時前
24天前
6月前
3年前

12秒後
3分鐘後
2小時後
24天后
6月後
3年後

使用方法

** 1. 下載 timeago.js **npm

npm install timeago.js

** 2. 引入 timeago.js **瀏覽器

使用import引入,而後能夠獲得一個全局變量: timeago.測試

import timeago from 'timeago.js';

// 或者

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

或者直接經過 script 標籤引入到html文件中.網站

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

** 3. 使用 timeago 類 **ui

var timeago = timeago();
timeago.format('2016-06-12')

高級特性使用

** 1. 本地化 **code

默認的語言是英文 en, 這個庫自帶語言有 en and zh_CN (英文和中文).orm

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

相關文章
相關標籤/搜索