Hướng dẫn convert time to seconds javascript - chuyển đổi thời gian sang giây javascript

132

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có yêu cầu tương tự như thế này: chuyển đổi thời gian trong định dạng HH: MM: SS thành giây?

Nhưng trong JavaScript. Tôi đã thấy nhiều ví dụ về việc chuyển đổi giây thành các định dạng khác nhau nhưng không phải HH: mm: SS thành giây. Bất kỳ trợ giúp sẽ được đánh giá cao.

Hướng dẫn convert time to seconds javascript - chuyển đổi thời gian sang giây javascript

hỏi ngày 9 tháng 3 năm 2012 lúc 20:06Mar 9, 2012 at 20:06

7

Thử cái này:

var hms = '02:04:33';   // your input string
var a = hms.split(':'); // split it at the colons

// minutes are worth 60 seconds. Hours are worth 60 minutes.
var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]); 

console.log(seconds);

Đã trả lời ngày 9 tháng 3 năm 2012 lúc 20:15Mar 9, 2012 at 20:15

Dagg Nabbitdagg NabbitDagg Nabbit

73.7K19 Huy hiệu vàng109 Huy hiệu bạc141 Huy hiệu đồng19 gold badges109 silver badges141 bronze badges

6

Hàm này Handels "HH: MM: SS" cũng như "MM: SS" hoặc "SS".

function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}

Đã trả lời ngày 9 tháng 3 năm 2012 lúc 20:18Mar 9, 2012 at 20:18

NikonikoNiko

26.3k8 Huy hiệu vàng93 Huy hiệu bạc109 Huy hiệu đồng8 gold badges93 silver badges109 bronze badges

5

Điều này có thể được thực hiện khá kiên cường với những điều sau:

'01:02:03'.split(':').reduce((acc,time) => (60 * acc) + +time);

Điều này là do mỗi đơn vị thời gian trong vòng giờ, phút và giây là bội số lớn hơn 60 đơn vị nhỏ hơn. Thời gian được chia thành các thành phần vài phút và giây, sau đó giảm xuống còn vài giây bằng cách sử dụng giá trị tích lũy của các đơn vị cao hơn nhân với 60 khi nó đi qua mỗi đơn vị.

function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}
7 được sử dụng để chuyển thời gian cho một số.

Về cơ bản nó kết thúc làm:

function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}
8

Nếu chỉ có giây được truyền thì kết quả sẽ là một chuỗi, vì vậy để khắc phục rằng chúng ta có thể chuyển toàn bộ kết quả cho một int:

+('03'.split(':').reduce((acc,time) => (60 * acc) + +time));

Đã trả lời ngày 25 tháng 7 năm 2017 lúc 1:49Jul 25, 2017 at 1:49

PaulpaulPaul

6.2702 Huy hiệu vàng39 Huy hiệu bạc51 Huy hiệu Đồng2 gold badges39 silver badges51 bronze badges

11

Vì hàm getTime của đối tượng ngày nhận được mili giây kể từ năm 1970/01/01, chúng ta có thể làm điều này:

var time = '12:23:00';
var seconds = new Date('1970-01-01T' + time + 'Z').getTime() / 1000;

Đã trả lời ngày 15 tháng 3 năm 2013 lúc 18:57Mar 15, 2013 at 18:57

Boskopboskopboskop

4816 Huy hiệu bạc7 Huy hiệu đồng6 silver badges7 bronze badges

2

Chuyển đổi chuỗi

function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}
9 thành giây trong một dòng. Cũng cho phép định dạng
'01:02:03'.split(':').reduce((acc,time) => (60 * acc) + +time);
0 và
'01:02:03'.split(':').reduce((acc,time) => (60 * acc) + +time);
1,
'01:02:03'.split(':').reduce((acc,time) => (60 * acc) + +time);
2 vv

'08:45:20'.split(':').reverse().reduce((prev, curr, i) => prev + curr*Math.pow(60, i), 0)

Hướng dẫn convert time to seconds javascript - chuyển đổi thời gian sang giây javascript

B001

2.0396 Huy hiệu vàng22 Huy hiệu bạc31 Huy hiệu Đồng6 gold badges22 silver badges31 bronze badges

Đã trả lời ngày 10 tháng 11 năm 2016 lúc 13:35Nov 10, 2016 at 13:35

Paul Hidepaul ẩnPaul Hide

Huy hiệu đồng 1461 Bạc3 Huy hiệu Đồng1 silver badge3 bronze badges

7

Đây là giải pháp rõ ràng nhất, dễ hiểu nhất:

function convertDurationtoSeconds(duration){
    const [hours, minutes, seconds] = duration.split(':');
    return Number(hours) * 60 * 60 + Number(minutes) * 60 + Number(seconds);
};

const input = '01:30:45';
const output = convertDurationtoSeconds(input);
console.log(`${input} is ${output} in seconds`);

Đã trả lời ngày 29 tháng 10 năm 2020 lúc 14:39Oct 29, 2020 at 14:39

Hướng dẫn convert time to seconds javascript - chuyển đổi thời gian sang giây javascript

MelchiamelchiaMelchia

20.8K20 Huy hiệu vàng94 Huy hiệu bạc 109 Huy hiệu đồng20 gold badges94 silver badges109 bronze badges

2

try

time="12:12:12";
tt=time.split(":");
sec=tt[0]*3600+tt[1]*60+tt[2]*1;

Đã trả lời ngày 9 tháng 3 năm 2012 lúc 20:16Mar 9, 2012 at 20:16

LucalucaLuca

4.1831 Huy hiệu vàng20 Huy hiệu bạc24 Huy hiệu đồng1 gold badge20 silver badges24 bronze badges

1

Đây có thể là một hình thức dễ đọc hơn một chút trên câu trả lời được phê duyệt ban đầu.

const getSeconds = (hms: string) : number => {
  const [hours, minutes, seconds] = hms.split(':');
  return (+hours) * 60 * 60 + (+minutes) * 60 + (+seconds);
};

Đã trả lời ngày 17 tháng 9 năm 2019 lúc 9:24Sep 17, 2019 at 9:24

Jan Vorcakjan VorcakJan Vorcak

18.7K14 Huy hiệu vàng52 Huy hiệu bạc87 Huy hiệu đồng14 gold badges52 silver badges87 bronze badges

1

Phương pháp tĩnh của JavaScript

'01:02:03'.split(':').reduce((acc,time) => (60 * acc) + +time);
3 thực hiện thủ thuật:

alert(getSeconds('00:22:17'));

function getSeconds(time)
{
    var ts = time.split(':');
    return Date.UTC(1970, 0, 1, ts[0], ts[1], ts[2]) / 1000;
}

Đã trả lời ngày 14 tháng 6 năm 2013 lúc 8:06Jun 14, 2013 at 8:06

Hướng dẫn convert time to seconds javascript - chuyển đổi thời gian sang giây javascript

ChronozoachronozoaChronozoa

3106 Huy hiệu bạc10 Huy hiệu Đồng6 silver badges10 bronze badges

function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}
0

Đầu ra: 1499755980000 (tính bằng mili giây) (1499755980000/1000) (trong lần thứ hai) 1499755980000 (in millisecond) ( 1499755980000/1000) (in second)

Lưu ý: Đầu ra này tính toán khác biệt từ 1970-01-01 12: 0: 0 cho đến nay và chúng ta cần thực hiện khoảnh khắc.js

Đã trả lời ngày 11 tháng 7 năm 2017 lúc 7:27Jul 11, 2017 at 7:27

Hướng dẫn convert time to seconds javascript - chuyển đổi thời gian sang giây javascript

2

Chức năng này cũng hoạt động cho MM: SS:

function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}
1

Đã trả lời ngày 16 tháng 3 năm 2017 lúc 8:19Mar 16, 2017 at 8:19

Được lấy từ giải pháp được đưa ra bởi Paul https://stackoverflow.com/a/45292588/1191101 nhưng sử dụng ký hiệu chức năng cũ để nó cũng có thể được sử dụng trong các động cơ JS khác (ví dụ: Java Rhino)

function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}
2

hoặc chỉ là một điều này dễ đọc hơn

function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}
3

Đã trả lời ngày 3 tháng 5 năm 2020 lúc 14:13May 3, 2020 at 14:13

Hướng dẫn convert time to seconds javascript - chuyển đổi thời gian sang giây javascript

function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}
4
function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}
5

Đã trả lời ngày 14 tháng 7 năm 2015 lúc 17:34Jul 14, 2015 at 17:34

Phillip Sennphillip SennPhillip Senn

45,6K89 Huy hiệu vàng252 Huy hiệu bạc370 Huy hiệu đồng89 gold badges252 silver badges370 bronze badges

Bạn có thể làm điều này một cách linh hoạt - trong trường hợp bạn không chỉ gặp phải: HH: MM: SS, mà còn, MM: SS, hoặc thậm chí SS một mình.

function hmsToSecondsOnly(str) {
    var p = str.split(':'),
        s = 0, m = 1;

    while (p.length > 0) {
        s += m * parseInt(p.pop(), 10);
        m *= 60;
    }

    return s;
}
6

Hướng dẫn convert time to seconds javascript - chuyển đổi thời gian sang giây javascript

Mogsdad

43.5K20 Huy hiệu vàng147 Huy hiệu bạc264 Huy hiệu đồng20 gold badges147 silver badges264 bronze badges

Đã trả lời ngày 21 tháng 4 năm 2016 lúc 0:59Apr 21, 2016 at 0:59

JeffzjeffzJeffz

2.0575 huy hiệu vàng34 Huy hiệu bạc49 Huy hiệu đồng5 gold badges34 silver badges49 bronze badges

Làm thế nào để bạn chuyển đổi HH MM SS thành giây trong JavaScript?

Chuyển đổi HH: MM: SS thành giây bằng cách sử dụng JavaScript #..
Chuyển đổi giờ thành giây, bằng cách nhân với 60 lần ..
Chuyển đổi phút thành giây bằng cách nhân với 60 ..
Tổng kết các kết quả trong giờ và phút với các giây để có được giá trị cuối cùng ..

Làm thế nào để bạn chuyển đổi HH MM thành giây?

Để chuyển đổi định dạng thời gian HH: mm: SS thành phút: = ((giờ (A2)*60)+phút (A2)+(thứ hai (A2)/60));Để chuyển đổi định dạng thời gian HH: mm: SS thành giây: = giờ (A2)*3600 + phút (A2)*60 + giây (A2).=HOUR(A2)*3600 + MINUTE(A2)*60 + SECOND(A2).

Làm thế nào để bạn chuyển đổi thời gian thành giây trong TypeScript?

Chuyển đổi thời gian thành vài giây trong câu trả lời của mã JavaScript..
hàm hội tụ (giá trị) {.
const sec = parseInt (giá trị, 10);// chuyển đổi giá trị thành số nếu nó là chuỗi ..
Đặt giờ = toán học.....
Đặt phút = toán học.....
Đặt giây = giây - (giờ * 3600) - (phút * 60);// Nhận giây ..
// add 0 if value < 10; Example: 2 => 02..

Làm thế nào để bạn viết giây trong javascript?

Mã dưới đây hoạt động tốt.var mind = thời gian % (60 * 60);Var phút = Toán.sàn (tâm trí / 60);var secd = tâm trí % 60;var giây = math.ceil (secd);var seconds = Math. ceil(secd);