10.6. Calculating Elapsed Time or Intervals Between Dates
Problem
You want to calculate an elapsed time, elapsed date, or relative time.
Solution
For simple elapsed time, add and subtract from the Epoch milliseconds
or the value returned by getTimer( )
. For
more complex conversions, create custom
Date.doMath( )
and Date.elapsedTime(
)
methods.
Discussion
For simple conversions such as adding or subtracting an hour, day, or
week to or from a date, simply add or subtract from the
date’s Epoch milliseconds value. For this purpose,
note that a second is 1,000 milliseconds, a minute is 60,000
milliseconds, an hour is 3,600,000 milliseconds, a week is
604,800,000 milliseconds, and so on. Unless you have a spectacular
gift for remembering these conversion values, storing them as
constants of the Date
class is the easiest
option. You can add the following constants to your
Date.as file for convenience:
// There are 1000 milliseconds in a second, 60 seconds in a minute, 60 minutes in an // hour, 24 hours in a day, and 7 days in a week. Date.SEC = 1000; Date.MIN = Date.SEC * 60; Date.HOUR = Date.MIN * 60; Date.DAY = Date.HOUR * 24; Date.WEEK = Date.DAY * 7;
You can use the Date.getTime( )
method to
retrieve a date’s current value in Epoch
milliseconds, and you can set the new value using the
Date.setTime( )
method. The following example
adds one day to a given Date
object.
#include "Date.as" myDate = new Date(1978, 9, 13, 3, 55, 0, 0); // Displays: Fri Oct 13 03:55:00 GMT-0700 1978 trace(myDate); ...
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.