本文介绍在JavaScript项目中,如何根据图片拍摄时间获取前后秒数的视频信息。通过Date对象转换与时间戳运算,实现了兼容IE及非IE浏览器的时间加减功能,适用于视频片段截取等场景。
JavaScript实现指定时间前后秒数计算
近期项目中遇到一个需求,需要根据图片的拍摄时间,提取该时间点前2秒至后3秒共5秒的视频片段。经过查阅相关资料,编写了相应的处理方法,在此记录并分享。
//指定时间减2秒
function reduceTwoS(dateStr){//dateStr格式为yyyy-mm-dd hh:mm:ss
var dt=new Date(dateStr.replace(/-/,"/"));//将传入的日期格式的字符串转换为date对象 兼容ie
// var dt=new Date(dateStr);//将传入的日期格式的字符串转换为date对象 非ie
var ndt=new Date(dt.getTime()-2000);//将转换之后的时间减去两秒
var result={
year:parseInt(ndt.getFullYear()),
month:parseInt(ndt.getMonth()+1),
day:parseInt(ndt.getDay()),
hour:parseInt(ndt.getHours()),
minute:parseInt(ndt.getMinutes()),
second:parseInt(ndt.getSeconds())
}
return result;
}
//指定时间加3秒
function addThreeS(dateStr){//dateStr格式为yyyy-mm-dd hh:mm:ss
var dt=new Date(dateStr.replace(/-/,"/"));//将传入的日期格式的字符串转换为date对象 兼容ie
// var dt=new Date(dateStr);//将传入的日期格式的字符串转换为date对象 非ie
var ndt=new Date(dt.getTime()+3000);//将转换之后的时间减去两秒
var result={
year:parseInt(ndt.getFullYear()),
month:parseInt(ndt.getMonth()+1),
day:parseInt(ndt.getDay()),
hour:parseInt(ndt.getHours()),
minute:parseInt(ndt.getMinutes()),
second:parseInt(ndt.getSeconds())
}
return result;
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持本站!