Javascript 如何将小时添加到unix时间戳毫秒?
应用程序中的用户可以选择约会的时间和持续时间。我想在时间中添加持续时间来显示结束时间。我在后台以毫秒为单位处理所有事情,并使用函数在数小时内将其转换回用户。我不确定我做错了什么,因为在本例中,控制台打印01:00。我想它应该打印Javascript 如何将小时添加到unix时间戳毫秒?,javascript,Javascript,应用程序中的用户可以选择约会的时间和持续时间。我想在时间中添加持续时间来显示结束时间。我在后台以毫秒为单位处理所有事情,并使用函数在数小时内将其转换回用户。我不确定我做错了什么,因为在本例中,控制台打印01:00。我想它应该打印16:00 这里是代码的硬编码淡化版本: var日期='2021-02-12'; 变量开始时间='15:00'//24小时制 var总时数='3600000'//隐藏输入的总小时数(毫秒)//3600000=1小时 var milisconses=新日期(日期+''+开
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)这可能是一个时区问题。那么这不是一个可移植的解决方案。看,是的,我知道。这就是我想要避免的。我只想把它作为一个简单的数学计算,独立于任何时区问题。