文档章节

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

小薇
 小薇
发布于 2016/06/24 21:25
字数 581
阅读 146
收藏 13
点赞 0
评论 0

timeago.js

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

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

  • 本地化支持,默认自带中文和英文语言,基本够用;
  • 之前 xxx 时间前、xxx 时间后;
  • 支持npm方式和浏览器script方式;
  • 测试用例完善,执行良好;

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

Build Status npm npm npm

刚刚
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文件中.

<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

© 著作权归作者所有

共有 人打赏支持
小薇

小薇

粉丝 349
博文 32
码字总数 6185
作品 26
杭州
个人站长
小为/timeago.js

timeago.js timeago.js 是一个非常简洁、轻量级、不到 的很简洁的 Javascript 库,用来将 datetime 时间转化成类似于的描述字符串,例如:“3小时前”。 本地化支持,默认自带中文和英文语言...

小为 ⋅ 2016/09/12 ⋅ 0

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

这里要提到的是我之前从项目抽离出来的微型 Javascript 项目 timeago.js,为什么是微型,因为他还不到 2kb,这个也是做这个项目的原因之一。 已有的类似项目不是一般都依赖 jQuery 和 moment...

小薇 ⋅ 2016/09/13 ⋅ 1

时间表达转换--timeago.js

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

小薇 ⋅ 2016/06/24 ⋅ 0

2016年10月15个最好的 JavaScript 库

1. g9 g9是一个JavaScript库,用于创建自动交互图形 2. CurrencyFormatter.js CurrencyFormatter.js允许用户将数字格式成各种不同的货币格式。它包含155种货币格式,可以处理异常格式化的货币...

pe_mail2006 ⋅ 2016/11/01 ⋅ 8

timeago.js自动将时间戳

首先需要载入jQuery库和timeago.js 接着我们在页面中加入以下代码: 我们给abbr元素设置class为timeago,设置title为标准的ISO 8601时间格式,你也可以使用html5标签time: jQuery 使用jQuer...

土鳖的弟弟 ⋅ 2014/03/22 ⋅ 1

timeago.js 1.1.0,一个极简的 Javascript 库

timeago.js是一个极简的Javascript库,压缩之后只有1.7kb,用于在browser和nodejs环境将时间转化成 的格式。目前发布1.1.0版本,代码在github trending上。 具体更新内容如下: 1. 新增加官网...

小薇 ⋅ 2016/09/12 ⋅ 9

timeago.js v2.0.1,一个极简的 Javascript 库

timeago.js 是一个极简的Javascript库,压缩之后只有1.7kb,用于在browser和nodejs环境将时间转化成 的格式。目前发布2.0.1版本,代码在github上。 具体更新内容如下: 1. 新增 12 个本地化语...

小薇 ⋅ 2016/09/21 ⋅ 16

Javascript插件 / 框架

框架 Vue: https://github.com/vuejs/vue Ember.js: https://github.com/emberjs/ember.js Zepto: https://github.com/madrobby/zepto Regular: https://github.com/regularjs/regular 扩展 ......

flydo ⋅ 2016/09/14 ⋅ 0

仿虎扑应用EasySport连带上后台代码

EasySports 声明 本项目部分API来自NBA中文官网与虎扑体育,纯练手之作,个人未从中获取任何利益,其所有内容均可在NBA中文官网与虎扑体育获取。 数据的获取与共享可能会侵犯到NBA中文官网与...

Rayhaha ⋅ 01/05 ⋅ 0

程序员的10句跟字面意思完全不同的常用语

你是否听到过同事说“这段代码不言自明”?你的同事的这句话的实际意思是这段代码不需要写注释。 你也许注意到了,很多时候,程序员所说的话的字面意思和其真实的意思是完全不同的。不用惊异...

oschina ⋅ 2014/09/24 ⋅ 35

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周六乱弹 —— 假如你被熊困到树上

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《如果写不出好的和弦就该在洒满阳光的钢琴前一起吃布丁》 《如果写不出好的和弦就该在洒满阳光的钢琴前一起吃布丁》- 谢...

小小编辑 ⋅ 40分钟前 ⋅ 4

vbs 取文件大小 字节

dim namedim fs, s'name = Inputbox("姓名")'msgbox(name)set fs = wscript.createobject("scripting.filesystemobject") 'fs为FSO实例if (fs.folderexists("c:\temp"))......

vga ⋅ 今天 ⋅ 1

高并发之Nginx的限流

首先Nginx的版本号有要求,最低为1.11.5 如果低于这个版本,在Nginx的配置中 upstream web_app { server 到达Ip1:端口 max_conns=10; server 到达Ip2:端口 max_conns=10; } server { listen ...

算法之名 ⋅ 今天 ⋅ 0

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部