Difference between revisions of "Oolite JavaScript Reference: Clock"

From Elite Wiki
(Added addSeconds)
(Methods: Removed toString(), which generally shouldn’t be used directly.)
Line 78: Line 78:
 
  var message = "This task must be completed by " + clock.clockStringForTime(clock.seconds + 24 * 60 * 60) + ", or all will be lost!"
 
  var message = "This task must be completed by " + clock.clockStringForTime(clock.seconds + 24 * 60 * 60) + ", or all will be lost!"
 
(Whether such a message should be specified with one-second precision is another matter. More flexible tools for date calculations may be added later.)
 
(Whether such a message should be specified with one-second precision is another matter. More flexible tools for date calculations may be added later.)
 
=== toString ===
 
'''clockStringForTime'''(timeInSeconds : Number) : String
 
Returns a display string for the current time, specified in seconds, in the same format as <code>[[#clockString|clockString]]</code>.
 
  
 
[[Category:Oolite scripting]]
 
[[Category:Oolite scripting]]

Revision as of 11:49, 1 January 2010

Prototype: Object
Subtypes: none

This class was added in Oolite test release 1.70.

The clock global object is used to tell the time. Apart from absoluteSeconds(), all its properties have to do with game clock time.

Properties

absoluteSeconds

absoluteSeconds : Number (read-only)

The game real time clock. Roughly speaking, this is the number of seconds since the game was started, not counting time in which it was paused.

seconds

seconds : Number (read-only)

The current time in game clock time, in seconds since the epoch. If the current clock time is 2084004:17:13:42, seconds will be at least 180058007622 and less than 180058007623.

See Also: secondsComponent

minutes

minutes : Number (read-only)

The current time in game clock time, in integer minutes since the epoch. If the current clock time is 2084004:17:13:42, minutes will be 3000966793.

See Also: minutesComponent

hours

hours : Number (read-only)

The current time in game clock time, in integer hours since the epoch. If the current clock time is 2084004:17:13:42, hours will be 50016113.

See Also: hoursComponent

days

days : Number (read-only)

The current time in game clock time, in integer days since the epoch. If the current clock time is 2084004:17:13:42, days will be 2084004.

secondsComponent

secondsComponent : Number (read-only)

The second component of the clock time. If the current clock time is 2084004:17:13:42, secondsComponent will be 42.

See Also: seconds

minutesComponent

minutesComponent : Number (read-only)

The minute component of the clock time. If the current clock time is 2084004:17:13:42, minutesComponent will be 13.

See Also: minutes

hoursComponent

hoursComponent : Number (read-only)

The hour component of the clock time. If the current clock time is 2084004:17:13:42, hoursComponent will be 17.

See Also: hours

daysComponent

daysComponent : Number (read-only)

Same as days, included only for completeness.

clockString

clockString : String (read-only)

The clock as displayed in the HUD, including “(adjusting)” if appropriate. If the current clock time is 2084004:17:13:42 and the clock is not being adjusted, clockString will be “2084004:17:13:42”.

isAdjusting

isAdjusting : Boolean (read-only)

True if the clock is being adjusted, i.e. running faster than real time, as happens after jumps, after docking and when buying or selling items.

legacy_scriptTimer

legacy_scriptTimer : Number (read-only)

The current value of the legacy scriptTimer.

Methods

addSeconds

This method was added in Oolite test release 1.74.

addSeconds(timeInSeconds : Number)

Adds "timeInSeconds" to the current time. Value must be positive and no greater than the equivalent of 30 days (60 * 60 * 24 * 30 = 2592000 seconds)

clockStringForTime

clockStringForTime(timeInSeconds : Number) : String

Returns a display string for a given time, specified in seconds, in the same format as clockString. For instance, to specify that something must be done within a day, you might say:

var message = "This task must be completed by " + clock.clockStringForTime(clock.seconds + 24 * 60 * 60) + ", or all will be lost!"

(Whether such a message should be specified with one-second precision is another matter. More flexible tools for date calculations may be added later.)