Recipe 10.4 Formatting Milliseconds as Minutes and Seconds
10.4.1 Problem
You want to display milliseconds
in minutes and seconds
(mm:ss) format.
10.4.2 Solution
Create and use a custom, static method,
Date.formatMilliseconds( ).
10.4.3 Discussion
Many values in ActionScript are given in milliseconds. For example,
sound lengths are given in milliseconds. However, in most cases, you
want to format the value as minutes and seconds when displaying it to
the user. You can accomplish this with a short custom method that
we'll add to the Date class.
Here's our static method—a static method is
called directly from the class, rather than on an object
instance—that converts milliseconds to the format
mm:ss. Add this
code to your Date.as file for easy inclusion in
other projects.
Date.formatMilliseconds = function (millis) {
// Determine the minutes and seconds portions of the time.
var seconds = millis / 1000;
var m = Math.floor(seconds/60);
var s = Math.round(seconds - (m * 60));
// Add leading zeros to one-digit numbers.
if (m < 10) {
m = "0" + m;
}
if (s < 10) {
s = "0" + s;
}
return m + ":" + s;
};
Here's an example of how you can use this method:
#include "Date.as"
// Assuming mySound_sound is a Sound object, get its duration in milliseconds.
dur = mySound_sound.duration;
// Create a text field to display the value.
this.createTextField("displayTime_txt", 1, 0, 0, 100, 20);
// Display the time value formatted as mm:ss.
displayTime_txt.text = Date.formatMilliseconds(dur);
10.4.4 See Also
Recipe 10.3 and Recipe 10.5
|