将时间格式转换为字符串和反向

时间:2016-09-02 23:44:29

标签: javascript jquery

我怎样才能将秒数(数字)转换为时间格式hh:mm:ss string,反之则hh:mm:ss时间格式字符串返回等于秒数的数字?

即:

2500 -> 00:41:40

00:41:40 -> 2500

使用JavaScript?

1 个答案:

答案 0 :(得分:0)

我认为没有直接用于此目的的功能,但您可以轻松地为自己制作一个功能。时间到秒是更容易的部分:

function timetosec(time)
{
   var h = time.split(':')[0];
   var m = time.split(':')[1];
   var s = time.split(':')[2];
   return h*60*60 + m*60 + s;
}

只需使用模数运算符即可将其更改回来:

function sectotime(sec)
{
   var s = sec % 60; 
   sec = (sec-s)/60;
   var m = sec % 60;
   var h = (sec-m)/60;
   return '' + h + ':' + m + ':' + s;
}

另一个想法:使用Date对象。根据JS参考,您可以打包一个字符串对象:

   var d1 = new Date('2016-01-01 '.time); //e.g. '2016-01-01 01:02:03'
   var d2 = new Date('2016-01-01 00:00');
   return d2 - d1; // time in MILLIseconds

   var d1 = new Date(sec*1000); //milliseconds since the UNIX epoch
   return d1.getHours() + ':' + d1.getMinutes() + ':' + d1.getSeconds();