如何将 JavaScript 秒转换为分钟和秒?

front end technologyjavascriptweb development

在本教程中,我们将学习将 JavaScript 秒转换为分钟和秒。问题是我们给出了总秒数,我们需要以分钟和秒的格式表示它。

我们可以执行一些基本的数学运算并解决我们的问题。在这里,我们有两种不同的方法将秒转换为分钟和秒。

使用 Math.floor() 方法

在这种方法中,我们将使用 Math.floor() 方法。我们将总秒数除以 60 以将其转换为分钟,并应用 Math.floor() 方法将浮点分钟向下舍入。之后,我们将秒数除以 60 得到额外的剩余秒数。

语法

用户可以按照以下语法将秒转换为分钟和秒。

let minutes = Math.floor(seconds / 60);
let extraSeconds = seconds % 60;
minutes = minutes < 10 ? "0" + minutes : minutes;
extraSeconds = extraSeconds < 10 ? "0" + extraSeconds : extraSeconds;

算法

  • 步骤 1 - 将总秒数除以 60 以将其转换为分钟。

  • 步骤 2 - 将 Math.floor() 方法应用于分钟以将其向下舍入。

  • 步骤 3 - 将总秒数除以 60 以获得剩余秒数。

  • 步骤 4 - 如果分钟或秒数小于 10,则在它们前面附加 0。

示例

在下面的示例中,我们创建了 convertStoMs() 函数,使用上述算法将秒转换为分钟和秒格式。我们已经为不同的秒值调用了该函数,用户可以在输出中观察结果。

<html> <head> </head> <body> <h2>Convert seconds to minutes and seconds in JavaScript.</h2> <h4>Using the <i>Math.floor()</i> method to convert the different values of seconds to minutes and seconds.</h4> <p id = "output"></p> <script> let output = document.getElementById("output"); function convertStoMs(seconds) { let minutes = Math.floor(seconds / 60); let extraSeconds = seconds % 60; minutes = minutes < 10 ? "0" + minutes : minutes; extraSeconds = extraSeconds< 10 ? "0" + extraSeconds : extraSeconds; output.innerHTML += seconds + " == " + minutes + " : " + extraSeconds + "<br/>"; } convertStoMs(159); convertStoMs(234567); convertStoMs(9); </script> </body> </html>

使用按位双非 (~~) 运算符

在此方法中,我们将使用 双非 (~~) 运算符来向下舍入分钟,而不是 Math.floor() 方法。双非运算符是 Math.floor() 方法的替代品。

用户可以按照以下语法使用双非运算符。

语法

let minutes = ~~(seconds / 60);
let extraSeconds = seconds % 60;

示例

在下面的示例中,我们将通过将秒数除以 60 并使用双非 (~~) 运算符向下舍入,将秒转换为分钟。要获得剩余的秒数,我们将对总秒数除以 60 进行模数运算。

<html> <head> </head> <body> <h2>Convert seconds to minutes and seconds in JavaScript.</h2> <h4>Using the <i>Double Not (~~)</i> method to convert the different values of seconds to minutes and seconds.</h4> <p id = "output"></p> <script> let output = document.getElementById("output"); function convertStoMs(seconds) { let minutes = ~~(seconds / 60); let extraSeconds = seconds % 60; output.innerHTML += seconds + " == " + minutes + " : " + extraSeconds + "<br/>"; } convertStoMs(421); convertStoMs(2876); convertStoMs(10); </script> </body> </html>

我们已经学习了将总秒数转换为分钟和秒的两种方法。用户可以使用按位双非 (~~) 运算符来加快代码速度,因为 Math.floor() 方法比按位运算符慢得多。


相关文章