Skip to content

A javascript libaray witch can support humanized dispay of the timespan.

License

Notifications You must be signed in to change notification settings

houyhea/timespanjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#timespanjs ##简介 实现日期差值的人性化显示的javascript库。比如,可以显示成:2年2个月2小时4分钟23秒。同时支持国际化,可扩展。已经支持的语言:

  • 中文简体(zh-cn)
  • 中文繁体(zh-tw)
  • 英文(en)

###如何使用

  1. 通过script标签引入timespanjs脚本文件。如果使用requirejs,则需要通过require.config配置timespan路径。
  2. 创建Timespan对象。可以通过构造函数中传递时间差值创建,也可以通过传递两个Date对象实例创建。
  3. 调用humanize实例方法,获取人性化显示字符串。
  4. 调用Timespan.lang(),设置语言。

####浏览器下的引用

<script src="timespan.js"></script>
<script>
    var ts=new Timespan(85,'m');
</script>

####requirejs下的引用

require.config({
    paths: {
        "timespanjs": "path/to/timespan",
    }
});
define(["timespanjs"], function (Timespan) {
    var ts=new Timespan(85,'m');
});

####node.js下的引用 安装nodejs,通过npm命令安装timespanjs(注意:由于timespanjs被抢注,这里采用timespan-js作为nodejs中的包名)。npm地址:timespan-js

npm install timespan-js

调用方法:

var Timespan=require("timespan-js");
var ts=new Timespan(85,"m");
console.log(ts.humanize());

####调用示例:

//该值表示为:3小时4分钟25秒30毫秒
var msvalue = 30 + 1000 * 25 + 1000 * 60 * 4 + 1000 * 60 * 60 * 3;
var ts = new Timespan(msvalue, 'ms');
console.log(ts.humanize());//输出为:3小时4分钟25秒30毫秒

//通过fromDates方法构造
var dt=new Date(2014,7,1);
var dt1=new Date(2014,8,1,10,12,15,234);
var ts = Timespan.fromDates(dt, dt1);
console.log(ts.humanize());
//输出:1个月1天10小时12分钟15秒,234毫秒未输出,因为baseUnit参数默认是:'s'
Timespan.lang('en');
console.log(ts.humanize());
//输出:1 month,1 day,10 hours,12 minutes,15 seconds

##API说明 见api说明。 ##测试用例 见https://github.com/houyhea/timespanjs/blob/master/test/testTimespan.html。请获取并运行即可。 ##浏览器兼容性 兼容IE8+,chrome,firefox。 ##依赖 不需要依赖其他库。 ##协议 采用MIT 许可协议。 ##帮助 支付宝赞助(houyhea):
赞助

About

A javascript libaray witch can support humanized dispay of the timespan.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published