Hướng dẫn convert milliseconds to hours, minutes, seconds javascript - chuyển đổi mili giây thành giờ, phút, giây javascript

Chuyển đổi mili giây sang giờ, phút, giây trong JS #

Để chuyển đổi mili giây thành giờ, phút, giây:

  1. Chia các mili giây cho 1000 để có được giây.
  2. Chia các giây cho 60 để có được phút.
  3. Chia biên bản cho 60 để có được giờ.
  4. Thêm số 0 hàng đầu nếu các giá trị nhỏ hơn 10 để định dạng chúng một cách nhất quán.

Copied!

// ✅ You can use a Quick one-liner hack const ms = 54000000; console.log(new Date(ms).toISOString().slice(11, 19)); // 👉️ 15:00:00 // ✅ Or create a reusable function function padTo2Digits(num) { return num.toString().padStart(2, '0'); } function convertMsToTime(milliseconds) { let seconds = Math.floor(milliseconds / 1000); let minutes = Math.floor(seconds / 60); let hours = Math.floor(minutes / 60); seconds = seconds % 60; minutes = minutes % 60; // 👇️ If you don't want to roll hours over, e.g. 24 to 00 // 👇️ comment (or remove) the line below // commenting next line gets you `24:00:00` instead of `00:00:00` // or `36:15:31` instead of `12:15:31`, etc. hours = hours % 24; return `${padTo2Digits(hours)}:${padTo2Digits(minutes)}:${padTo2Digits( seconds, )}`; } console.log(convertMsToTime(54000000)); // 👉️ 15:00:00 (15 hours) console.log(convertMsToTime(86400000)); // 👉️ 00:00:00 (24 hours) console.log(convertMsToTime(36900000)); // 👉️ 10:15:00 (10 hours, 15 minutes) console.log(convertMsToTime(15305000)); // 👉️ 04:15:05 (4 hours, 15 minutes, 5 seconds)

Chúng tôi đã tạo ra một hàm có thể tái sử dụng, mất một phần nghìn giây dưới dạng tham số và trả về số giờ, phút và giây biểu diễn, được định dạng là hh:mm:ss.

Điều đầu tiên chúng tôi đã làm là tạo hàm padTo2Digits, sẽ chăm sóc việc thêm số 0 hàng đầu nếu giờ, phút hoặc giây chỉ chứa một chữ số (nhỏ hơn 10).

Copied!

function padTo2Digits(num) { return num.toString().padStart(2, '0'); } console.log(padTo2Digits(3)); // 👉️ '03' console.log(padTo2Digits(6)); // 👉️ '06' console.log(padTo2Digits(10)); // 👉️ '10'

Chúng tôi muốn đảm bảo kết quả không xen kẽ giữa các giá trị đơn và hai chữ số tùy thuộc vào giờ, phút và giây.

Trong chức năng convertMsToTime của chúng tôi, chúng tôi:

  1. Đã chuyển đổi mili giây thành giây bằng cách chia giá trị cho 1000.
  2. Chuyển đổi các giây thành phút bằng cách chia giá trị cho 60.
  3. Chuyển đổi số phút thành giờ bằng cách chia giá trị cho 60.
  4. Đã sử dụng toán tử modulo (%) để đặt lại các giá trị thành

    Copied!

    function padTo2Digits(num) { return num.toString().padStart(2, '0'); } console.log(padTo2Digits(3)); // 👉️ '03' console.log(padTo2Digits(6)); // 👉️ '06' console.log(padTo2Digits(10)); // 👉️ '10'
    3 nếu, ví dụ, người dùng đã vượt qua

    Copied!

    function padTo2Digits(num) { return num.toString().padStart(2, '0'); } console.log(padTo2Digits(3)); // 👉️ '03' console.log(padTo2Digits(6)); // 👉️ '06' console.log(padTo2Digits(10)); // 👉️ '10'
    4 dưới dạng mili giây, tương đương với

    Copied!

    function padTo2Digits(num) { return num.toString().padStart(2, '0'); } console.log(padTo2Digits(3)); // 👉️ '03' console.log(padTo2Digits(6)); // 👉️ '06' console.log(padTo2Digits(10)); // 👉️ '10'
    5 giờ.

Theo mặc định, hàm cuộn giờ qua nếu lớn hơn

Copied!

function padTo2Digits(num) { return num.toString().padStart(2, '0'); } console.log(padTo2Digits(3)); // 👉️ '03' console.log(padTo2Digits(6)); // 👉️ '06' console.log(padTo2Digits(10)); // 👉️ '10'
5, ví dụ: Nếu mili giây là 36 giờ, dòng

Copied!

function padTo2Digits(num) { return num.toString().padStart(2, '0'); } console.log(padTo2Digits(3)); // 👉️ '03' console.log(padTo2Digits(6)); // 👉️ '06' console.log(padTo2Digits(10)); // 👉️ '10'
7 sẽ đặt giờ thành

Copied!

function padTo2Digits(num) { return num.toString().padStart(2, '0'); } console.log(padTo2Digits(3)); // 👉️ '03' console.log(padTo2Digits(6)); // 👉️ '06' console.log(padTo2Digits(10)); // 👉️ '10'
8. Tùy thuộc vào trường hợp sử dụng của bạn, bạn có thể không muốn lăn qua nhiều giờ.

Bạn có thể nhận xét dòng

Copied!

function padTo2Digits(num) { return num.toString().padStart(2, '0'); } console.log(padTo2Digits(3)); // 👉️ '03' console.log(padTo2Digits(6)); // 👉️ '06' console.log(padTo2Digits(10)); // 👉️ '10'
7 để không cuộn giờ qua.

Bước cuối cùng là định dạng các giá trị trong giờ, phút và giây theo cách phù hợp với trường hợp sử dụng của bạn.

Trong ví dụ, chúng tôi đã định dạng chúng thành hh:mm:ss bằng cách thêm số 0 hàng đầu nếu giá trị nhỏ hơn 10. Tuy nhiên, bạn có thể điều chỉnh giá trị trả về của hàm tùy thuộc vào trường hợp sử dụng của bạn.