Javascript 如何将小时添加到unix时间戳毫秒?

Javascript 如何将小时添加到unix时间戳毫秒?,javascript,Javascript,应用程序中的用户可以选择约会的时间和持续时间。我想在时间中添加持续时间来显示结束时间。我在后台以毫秒为单位处理所有事情,并使用函数在数小时内将其转换回用户。我不确定我做错了什么,因为在本例中,控制台打印01:00。我想它应该打印16:00 这里是代码的硬编码淡化版本: var日期='2021-02-12'; 变量开始时间='15:00'//24小时制 var总时数='3600000'//隐藏输入的总小时数(毫秒)//3600000=1小时 var milisconses=新日期(日期+''+开

应用程序中的用户可以选择约会的时间和持续时间。我想在时间中添加持续时间来显示结束时间。我在后台以毫秒为单位处理所有事情,并使用函数在数小时内将其转换回用户。我不确定我做错了什么,因为在本例中,控制台打印01:00。我想它应该打印
16:00

这里是代码的硬编码淡化版本:

var日期='2021-02-12';
变量开始时间='15:00'//24小时制
var总时数='3600000'//隐藏输入的总小时数(毫秒)//3600000=1小时
var milisconses=新日期(日期+''+开始时间).getmillishes()//将datetime转换为mili
//将小时数添加到开始时间以获取结束时间
var end_time=parseInt(毫秒)+parseInt(总小时);
日志(msToTime(end_time));
函数msToTime(持续时间){
var毫秒=parseInt((持续时间%1000)/100),
秒=数学楼层((持续时间/1000)%60),
分钟=数学楼层((持续时间/(1000*60))%60),
小时=数学楼层((持续时间/(1000*60*60))%24);
小时数=(小时数<10)?“0”+小时数:小时数;
分钟=(分钟<10)?“0”+分钟:分钟;
秒=(秒<10)?“0”+秒:秒;
返回时间+“:”+分钟;

}
为什么不直接使用已定义的
日期
对象


阿加斯:不要做已经做过的事。™"

为什么不使用已定义的
日期
对象

阿加斯:不要做已经做过的事。™“

.getmillizes()
返回日期的毫秒部分,而不是以毫秒为单位的整个日期(正如
.getHourse()
返回日期的小时部分一样)

获取时间(毫秒)的方法是。因此使用

您也可以在转换回时间时使用此值,因为
Date()
构造函数接受以毫秒为单位的时间

function msToTime(duration) {
    var d = new Date(duration);
    var hours = d.getHours();
    var minutes = d.getMinutes();

    return hours + ":" + minutes ;
}
.getmillizes()
返回日期的毫秒部分,而不是以毫秒为单位的整个日期(正如
.getHourse()
返回日期的小时部分一样)

获取时间(毫秒)的方法是。因此使用

您也可以在转换回时间时使用此值,因为
Date()
构造函数接受以毫秒为单位的时间

function msToTime(duration) {
    var d = new Date(duration);
    var hours = d.getHours();
    var minutes = d.getMinutes();

    return hours + ":" + minutes ;
}

本地时区问题。这提供了您要查找的
16:00

var date = '2021-02-12';
var start_time = '15:00';//24hour format
var total_hours = '3600000';//total hours from hidden input in miliseconds//3600000 = 1hour
var miliseconds = Date.parse(date + 'T' + start_time + ':00.000Z');//convert datetime to mili

//add hours to start time to get end time
var end_time = parseInt(miliseconds) + parseInt(total_hours);

console.log(msToTime(end_time));

function msToTime(duration) {
    var milliseconds = parseInt((duration % 1000) / 100),
    seconds = Math.floor((duration / 1000) % 60),
    minutes = Math.floor((duration / (1000 * 60)) % 60),
    hours = Math.floor((duration / (1000 * 60 * 60)) % 24);

    hours = (hours < 10) ? "0" + hours : hours;
    minutes = (minutes < 10) ? "0" + minutes : minutes;
    seconds = (seconds < 10) ? "0" + seconds : seconds;

    return hours + ":" + minutes ;
}
var日期='2021-02-12';
var start_time='15:00';//24小时格式
var total_hours='3600000';//隐藏输入的总小时数(毫秒)//3600000=1小时
var milisonds=Date.parse(Date+'T'+start_time+':00.000Z');//将datetime转换为mili
//将小时数添加到开始时间以获取结束时间
var end_time=parseInt(毫秒)+parseInt(总小时);
日志(msToTime(end_time));
函数msToTime(持续时间){
var毫秒=parseInt((持续时间%1000)/100),
秒=数学楼层((持续时间/1000)%60),
分钟=数学楼层((持续时间/(1000*60))%60),
小时=数学楼层((持续时间/(1000*60*60))%24);
小时数=(小时数<10)?“0”+小时数:小时数;
分钟=(分钟<10)?“0”+分钟:分钟;
秒=(秒<10)?“0”+秒:秒;
返回时间+“:”+分钟;
}

本地时区问题。这提供了您要查找的
16:00

var date = '2021-02-12';
var start_time = '15:00';//24hour format
var total_hours = '3600000';//total hours from hidden input in miliseconds//3600000 = 1hour
var miliseconds = Date.parse(date + 'T' + start_time + ':00.000Z');//convert datetime to mili

//add hours to start time to get end time
var end_time = parseInt(miliseconds) + parseInt(total_hours);

console.log(msToTime(end_time));

function msToTime(duration) {
    var milliseconds = parseInt((duration % 1000) / 100),
    seconds = Math.floor((duration / 1000) % 60),
    minutes = Math.floor((duration / (1000 * 60)) % 60),
    hours = Math.floor((duration / (1000 * 60 * 60)) % 24);

    hours = (hours < 10) ? "0" + hours : hours;
    minutes = (minutes < 10) ? "0" + minutes : minutes;
    seconds = (seconds < 10) ? "0" + seconds : seconds;

    return hours + ":" + minutes ;
}
var日期='2021-02-12';
var start_time='15:00';//24小时格式
var total_hours='3600000';//隐藏输入的总小时数(毫秒)//3600000=1小时
var milisonds=Date.parse(Date+'T'+start_time+':00.000Z');//将datetime转换为mili
//将小时数添加到开始时间以获取结束时间
var end_time=parseInt(毫秒)+parseInt(总小时);
日志(msToTime(end_time));
函数msToTime(持续时间){
var毫秒=parseInt((持续时间%1000)/100),
秒=数学楼层((持续时间/1000)%60),
分钟=数学楼层((持续时间/(1000*60))%60),
小时=数学楼层((持续时间/(1000*60*60))%24);
小时数=(小时数<10)?“0”+小时数:小时数;
分钟=(分钟<10)?“0”+分钟:分钟;
秒=(秒<10)?“0”+秒:秒;
返回时间+“:”+分钟;
}

这不是我已经在做的吗?新日期(日期+“”+开始时间)。GetMillimes();我想他是指在
msToTime()函数中使用
新日期(持续时间)
。这不是我已经在做的吗?新日期(日期+“”+开始时间)。GetMillimes();我想他是指使用
新日期(持续时间)
msToTime()
函数中。我度过了一个不安的夜晚。非常感谢第二双眼睛。但是getTime(),返回21:00?从15:00开始的1小时应该返回下午4:00(16:00)这可能是一个时区问题。那么这不是一个可移植的解决方案。看,是的,我知道。这就是我想要避免的。我只想把这当作一个简单的数学计算,不受任何时区问题的影响。我度过了一个不安的夜晚。非常感谢第二双眼睛。但是getTime()返回21:00?从15:00开始的1小时应该返回下午4:00(16:00)这可能是一个时区问题。那么这不是一个可移植的解决方案。看,是的,我知道。这就是我想要避免的。我只想把它作为一个简单的数学计算,独立于任何时区问题。