2024年11月25日 星期一

調整 Intl.DurationFormat 的顯示精度

 調整 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


相關文章與資料

初探 Intl.DurationFormat

沒有留言:

張貼留言