Released 2023-02-16

Modified 2023-02-16

Tech

417Words (3min read)

Nuxt3 x TypeScript x 將分鐘轉換為「時」和「分」

Title Image

前言 - Prologue

當我們開發 Web 時,經常需要將數據轉換為不同的格式以便於顯示和使用。其中一個常見的需求是將分鐘數轉換為「時」和「分」的格式,例如將 135 分鐘轉換為 2 小時 15 分鐘。

本文將介紹如何使用 Nuxt3 和 TypeScript,將分鐘轉換為「時」和「分」,以方便開發者在 Web 中使用。

正文 - Main text

以下是一個以 Nuxt3 寫的 TypeScript 函式:

function formatMinutes(minutes: number): string {
  // 將輸入的分鐘數除以 60 取得「時」的數量
  const hours = Math.floor(minutes / 60);
  // 再取餘數的方式得到「分」的數量
  const modMinutes = minutes % 60;

  // 如果「時」的數量大於 0,則在格式化字串中加入「h」
  const frmtHours = hours > 0 ? `${hours}h ` : '';
  // 如果「分」的數量大於 0,則在格式化字串中加入「m」
  const frmtMinutes = modMinutes > 0 ? `${modMinutes}m` : '';

  return `${frmtHours}${frmtMinutes}`;
}

注:frmtHours 前面的 "FRMT" 在這邊是 formatted 的縮寫,意思是格式化的

這個函式將輸入的分鐘數除以 60 取得「時」的數量,再用取餘數的方式得到「分」的數量。然後根據這些數量來建立格式化字串,如果「時」的數量大於 0,則在格式化字串中加入「h」,如果「分」的數量大於 0,則在格式化字串中加入「m」。最後返回這個格式化字串。

取用函式範例:

const minutes = 90;
const formattedTime = formatMinutes(minutes);
console.log(formattedTime);
// Expected output: 1h 30m

Reference implementation

因為有用到,想說紀錄一下所以才有這篇文 ...?

#5 串接 TMDB API 的電影清單搜尋實作

Nuxt3 x TypeScript x 將分鐘轉換為「時」和「分」

https:///en/blog/13

Author

Kama

Read more from Tech
lightbox-image
Toggle Button - Red Pandas Icons by svgrepo.com

Copyrights © 2023 Kama, All Rights Reserved.