10.4. Formatting Milliseconds as Minutes and Seconds
Problem
You want to display milliseconds
in minutes and seconds
(mm
:ss
) format.
Solution
Create and use a custom, static method,
Date.formatMilliseconds( ).
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" // AssumingmySound_sound
is aSound
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 asmm
:ss
. displayTime_txt.text = Date.formatMilliseconds(dur);
See Also
Get Actionscript Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.