请教视频时间计算公式方法!有实例帮助!

柴九小哥 2011-01-04 10:58:36
请求视频播放时间计算公式或方法,请各位高手帮帮忙

已经得到视频总长度:

duration是总长度

如:duration=2649 如何计算出为这种格式的时间如:44:09

下面网上找到个js的代码,参考一下,小弟我看不明白,希望能转换成

vb的代码,谢谢了

-----------------------js相关代码如下-------------------------

if(duration > 3600)
{
//---共计时间
var vHours = Math.floor(duration / 3600);
var vstrHours = vHours > 9 ? vHours.toString(10) : ("0" + vHours.toString(10));
var vMin = Math.floor((duration % 3600) / 60);
var vstrMin = vMin > 9? vMin.toString(10) : ("0" + vMin.toString(10));
var vSen = Math.floor(duration % 60);
var vstrSen = vSen > 9 ? vSen.toString(10) : ("0" + vSen.toString(10));
//---当前时间
var vHours1 = Math.floor(pos / 3600);
var vstrHours1 = vHours1 > 9 ? vHours1.toString(10) : ("0" + vHours1.toString(10));
var vMin1 = Math.floor((pos % 3600) / 60);
var vstrMin1 = vMin1 > 9 ? vMin1.toString(10) : ("0" + vMin1.toString(10));
var vSen1 = Math.floor(pos % 60);
var vstrSen1 = vSen1 > 9 ? vSen1.toString(10) : ("0" + vSen1.toString(10));
currentPositionString = vstrHours1 + ":" + vstrMin1 + ":" + vstrSen1;
currentPositionString = currentPositionString + " / " ;
currentPositionString = currentPositionString + vstrHours + ":" + vstrMin + ":" + vstrSen;
}
else
{
//---共计时间
var vMin = Math.floor((duration % 3600) / 60);
var vstrMin = vMin > 9 ? vMin.toString(10) : ("0" + vMin.toString(10));
var vSen = Math.floor(duration % 60);
var vstrSen = vSen > 9 ? vSen.toString(10) : ("0" + vSen.toString(10));
//---当前时间
var vMin1 = Math.floor((pos % 3600) / 60);
var vstrMin1 = vMin1 > 9 ? vMin1.toString(10) : ("0" + vMin1.toString(10));
var vSen1 = Math.floor(pos % 60);
var vstrSen1 = vSen1 > 9 ? vSen1.toString(10) : ("0" + vSen1.toString(10));
currentPositionString = vstrMin1 + ":" + vstrSen1;
currentPositionString = currentPositionString + " / " ;
currentPositionString = currentPositionString + vstrMin + ":" + vstrSen;
}
getObj("mediaTime").innerText = currentPositionString.toString();
...全文
373 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
柴九小哥 2011-01-05
  • 打赏
  • 举报
回复
TimeSerial  描述   返回一个 Date 子类型的 Variant,含有指定时、分、秒的时间。   语法   TimeSerial(hour, minute, second)   TimeSerial 函数的语法有以下参数:   参数 描述   hour 其值为从 0 (12:00 A.M.) 到 23 (11:00 P.M.) 的数值或数值表达式。   minute 任意数值表达式。   second 任意数值表达式。   说明   要指定一时刻,如 11:59:59,TimeSerial 的参数取值应在可接受的范围内;也就是说,小时应介于 0-23 之间,分和秒应介于 0-59 之间。但是,可以使用数值表达式为每个参数指定相对时间,这一表达式代表某时刻之前或之后的时、分或秒数。以下样例中使用了表达式代替绝对时间数。TimeSerial 函数返回中午之前六小时 (12 - 6) 十五分钟的时间 (-15),即 5:45:00 A.M.。   TimeSerial(12 - 6, -15, 0)   当任何一个参数的取值超出可接受的范围时,它会正确地进位到下一个较大的时间单位中。例如,如果指定了 75 分钟,则这个时间被解释成一小时十五分钟。但是,如果任何一个参数值超出 -32768 到 32767 的范围,就会导致错误。如果使用三个参数直接指定的时间或通过表达式计算出的时间超出可接受的日期范围,也会导致错误。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 homezj 的回复:]
这段js代码,对VB来说,是足够的啰嗦!
只需一够代码,即可在VB下实现:

VB code
debug.Print TimeSerial(0,0,duration)
[/Quote]

学习了这个函数。呵呵,没用过
  • 打赏
  • 举报
回复
44×60+9?
那不就是2649秒哦
东方之珠 2011-01-04
  • 打赏
  • 举报
回复
Debug.Print duration \ 60 & ":" & Format$(duration Mod 60, "00")
homezj 2011-01-04
  • 打赏
  • 举报
回复
这段js代码,对VB来说,是足够的啰嗦!
只需一够代码,即可在VB下实现:
debug.Print TimeSerial(0,0,duration)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧