也許是最簡潔好用的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

相關文章
相關標籤/搜索