調整 Intl.DurationFormat 的顯示精度
前言
Intl.DurationFormat 和 Date 在顯示秒數的時候有些不一樣,Date 只能顯示到 milliseSeconds ,但 Intl.DurationFormat 卻可以顯示到 microSecnods ,並且可以控制顯示精度,在此把學習的過程做個紀錄。
內容
範例如下
let duration = { hours: 11, minutes: 30, seconds: 12, milliseconds: 345, microseconds: 600, }; let duration1 = { hours: 11, minutes: 30, seconds: 12, milliseconds: 345, microseconds: 645, }; // console.log( new Intl.DurationFormat("zh-TW", { style: "digital" }).format(duration) ); // "11:30:12.3456" console.log( new Intl.DurationFormat("zh-TW", { style: "digital" }).format(duration1) ); // "11:30:12.345645" console.log( new Intl.DurationFormat("zh-TW", { style: "digital" , fractionalDigits: 5 }).format(duration) ); // "11:30:12.34560" console.log( new Intl.DurationFormat("zh-TW", { style: "digital" , fractionalDigits: 2 }).format(duration) ); // "11:30:12.34"
只要在輸入的參數填入 microseconds 就可以顯示,再不調整精度時,會自動去 0 後顯示,可以在第一例與第二例的使用看出差異,如果要調整精度,可以在參數裡輸入 fractionalDigits ,就可以調整精度,但要注意如果調整精度後就不會自動去 0 ,可以在第三例看出。
參考資料
[ developer.mozilla.org ] Intl.DurationFormat