实现日期差值的人性化显示的 Javascript 库:timespanjs

jopen 11年前

简介

实现日期差值的人性化显示的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下的引用

调用示例:

//该值表示为: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。

依赖

不需要依赖其他库。

项目主页:http://www.open-open.com/lib/view/home/1409103527135