我有类似的要求:将HH:MM:SS格式的时间转换为仅秒?
但在javascript中.我已经看到很多将秒转换成不同格式的例子,但不是HH:MM:SS转换为秒.任何帮助,将不胜感激.
Dag*_*bit 161
试试这个:
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);
Run Code Online (Sandbox Code Playgroud)
Nik*_*iko 56
这个功能有"HH:MM:SS"以及"MM:SS"或"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;
}
Run Code Online (Sandbox Code Playgroud)
Pau*_*aul 27
这可以通过以下方式非常灵活地完成:
'01:02:03'.split(':').reduce((acc,time) => (60 * acc) + +time);
Run Code Online (Sandbox Code Playgroud)
这是因为小时,分钟和秒内的每个时间单位是比较小单位大60的倍数.时间被分成小时分和秒组件,然后通过使用较高单位的累计值乘以60来减少到秒,因为它通过每个单元.
该 +time用于将时间转换为数值.
它基本上最终会做: (60 * ((60 * HHHH) + MM)) + SS
Mel*_*hia 14
这是最清晰、易于理解的解决方案:
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`);Run Code Online (Sandbox Code Playgroud)
小智 11
hh:mm:ss在一行中将字符串转换为秒.也让h:m:s格式mm:ss,m:s等等
'08:45:20'.split(':').reverse().reduce((prev, curr, i) => prev + curr*Math.pow(60, i), 0)
Run Code Online (Sandbox Code Playgroud)
bos*_*kop 10
由于Date对象的getTime函数获得自1970/01/01以来的毫秒数,因此我们可以这样做:
var time = '12:23:00';
var seconds = new Date('1970-01-01T' + time + 'Z').getTime() / 1000;
Run Code Online (Sandbox Code Playgroud)
尝试
time="12:12:12";
tt=time.split(":");
sec=tt[0]*3600+tt[1]*60+tt[2]*1;
Run Code Online (Sandbox Code Playgroud)
Javascript的静态方法Date.UTC()可以解决问题:
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;
}
Run Code Online (Sandbox Code Playgroud)
在原始批准的答案上,这可能是更具可读性的表格。
const getSeconds = (hms: string) : number => {
const [hours, minutes, seconds] = hms.split(':');
return (+hours) * 60 * 60 + (+minutes) * 60 + (+seconds);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
106126 次 |
| 最近记录: |