實現日期差值的人性化顯示的 Javascript 庫:timespanjs

jopen 11年前發布 | 11K 次閱讀 JavaScript開發 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下的引用

調用示例:

//該值表示為: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.baiduhome.net/lib/view/home/1409103527135

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!