實現日期差值的人性化顯示的 Javascript 庫:timespanjs
簡介
實現日期差值的人性化顯示的javascript庫。比如,可以顯示成:2年2個月2小時4分鐘23秒。同時支持國際化,可擴展。已經支持的語言:
- 中文簡體(zh-cn)
- 中文繁體(zh-tw)
- 英文(en)
如何使用
- 通過script標簽引入timespanjs腳本文件。如果使用requirejs,則需要通過require.config配置timespan路徑。
- 創建Timespan對象。可以通過構造函數中傳遞時間差值創建,也可以通過傳遞兩個Date對象實例創建。
- 調用humanize實例方法,獲取人性化顯示字符串。
- 調用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。
依賴
不需要依賴其他庫。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!