/***************************************************** * * Copyright 2009 Akamai Technologies, Inc. All Rights Reserved. * ***************************************************** * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the * License for the specific language governing rights and limitations * under the License. * * * The Initial Developer of the Original Code is Akamai Technologies, Inc. * Portions created by Akamai Technologies, Inc. are Copyright (C) 2009 Akamai * Technologies, Inc. All Rights Reserved. * *****************************************************/ package org.osmf.utils { [ExcludeClass] /** * @private * * Class that contains static utility methods for manipulating and working * with time values. * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion OSMF 1.0 */ public class TimeUtil { /** * Takes a time as a string and returns that time in seconds. *
* The following time values are supported:
18750
will
* return 05:12:30
, but passing a value of 31
* will return 00:31
. So in other words, minutes and seconds
* will always be present.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion OSMF 1.0
*/
public static function formatAsTimeCode(sec:Number):String
{
var h:Number = Math.floor(sec / 3600);
h = isNaN(h) ? 0 : h;
var m:Number = Math.floor((sec % 3600) / 60);
m = isNaN(m) ? 0 : m;
var s:Number = Math.floor((sec % 3600) % 60);
s = isNaN(s) ? 0 : s;
return (h == 0 ? "" : (h < 10 ? "0" + h.toString() + ":" : h.toString() + ":")) +
(m < 10 ? "0" + m.toString() : m.toString()) + ":" +
(s < 10 ? "0" + s.toString() : s.toString());
}
}
}