2017-10-05 97 views
2

我有一个看起来像“01:12:33”的字符串,它是HH:MM:SS格式。我如何将它转换为JS中的时间值?我试过新的Date()构造函数,并设置年和日值为0,然后做getTime(),但我没有任何幸运。将时间字符串转换为javascript中的时间值

+0

你想约会的对象,或Unix时间戳? –

+0

日期对象,看起来像HH:MM:SS的东西最好是 – Milos

+0

不幸的是,JS没有类来表示没有时间的日期。看到这个其他职位的可行的替代方案:https://stackoverflow.com/questions/17884586/javascript-parsing-times-without-date –

回答

2

与日期前缀是:

var hms = "01:12:33"; 
var target = new Date("1970-01-01 " + hms); 
console.log(target); 

target.getTime()会给你的那天起就开始的毫秒数;

或者,如果你需要它是今天的日期:

var now = new Date(); 
var nowDateTime = now.toISOString(); 
var nowDate = nowDateTime.split('T')[0]; 
var hms = '01:12:33'; 
var target = new Date(nowDate + hms); 
console.log(target); 

target.getTime()会给你,因为时代的毫秒数。

0

您可以添加以下功能为您做这项工作:

function getDateFromHours(time) { 
    time = time.split(':'); 
    let now = new Date(); 
    return new Date(now.getFullYear(), now.getMonth(), now.getDate(), ...time); 
} 
console.log(getDateFromHours('01:12:33')); 
相关问题