Class: AbsTime

baja. AbsTime


new AbsTime()

Represents a baja:AbsTime in BajaScript.

AbsTime encapsulates an absolute point in time relative to a given
time zone.

When creating a Simple, always use the make method instead of
creating a new Object.

Extends

Members


<static> DEFAULT :baja.AbsTime

Default AbsTime instance - maps to Java Epoch.

Type:

Methods


<static> make( [obj])

Make an AbsTime.

Parameters:
Name Type Argument Description
obj Object <optional>

the Object literal used for the method's arguments.

Properties
Name Type Argument Description
date baja.Date <optional>
time baja.Time <optional>
offset Number | baja.Simple <optional>

UTC offset in milliseconds (any
baja:Number). This should be negative for negative time zones, e.g.
-04:00 corresponds to MILLIS_IN_HOUR * -4.

jsDate Date <optional>

if defined, this date is used for the date and
time. The offset will be read directly from the JS date - the offset
argument, if provided, will be ignored.

Returns:
Type
baja.AbsTime
Example
// An Object literal is used for the method's arguments...
  var at1 = baja.AbsTime.make({
    date: baja.Date.make({year: 1981, month: 5, day: 17}),
    time: baja.Time.make({hour: 15, min: 30}),
    offset: 0
  });
  
  // ...or from a JavaScript Date:
  var date = new Date();
  var at2 = baja.AbsTime.make({ jsDate: date });
  // the offset will be converted from JS Date style to BAbsTime style.
  baja.outln(at2.getOffset() === date.getTimezoneOffset() * -60000);
  baja.outln(at2.getMillis() === date.getTime());

<static> now()

Make an AbsTime with the current date and time.

Returns:
Type
baja.AbsTime

decodeAsync(str [, batch])

The string encoding of certain Simples may include Type information, or
other data that may be require asynchronous operations to decode. BOX is
designed to handle these situations when decoding data from the station,
but when user code needs to decode string-encoded Simples directly, prefer
this method as it gives the individual Simple a chance to import Types,
etc. to ensure that the decoded Simple is fully correct.

The default implementation just returns decodeFromString directly.

Parameters:
Name Type Argument Description
str string
batch baja.comm.Batch <optional>

optional batch to use

Inherited From:
Returns:

may return the Simple instance
directly, or a Promise resolving to same - so wrap in Promise.resolve()
if unsure.

Type
baja.Simple | Promise.<baja.Simple>

decodeFromString(str)

Decode an AbsTime from a String.

Parameters:
Name Type Description
str String
Overrides:
Returns:
Type
baja.AbsTime

encodeToString()

Encode the AbsTime to a String.

Overrides:
Returns:
Type
String

equals(obj)

Equality test.

Parameters:
Name Type Description
obj
Overrides:
Returns:
Type
Boolean

equivalent(obj)

Equivalence test.

equivalent() is used to compare if two Objects have equivalent
state, but might not want to return true for equals since it
it has implied semantics for many operations. The default
implementation returns the result of baja.Object#equals.

Parameters:
Name Type Description
obj
Inherited From:
Returns:
Type
Boolean

getAgents( [is], batch)

Returns a promise that resolves to the agent list for this Object.

Parameters:
Name Type Argument Description
is Array.<String> <optional>

An optional array of filters to add to the
agent query.

batch baja.comm.Batch

An optional object used to batch network
calls together.

Inherited From:
See:
Returns:

A promise that will resolve with the Agent Info.

Type
Promise

getDataTypeSymbol()

Return the data type symbol.

Returns:
Type
String

getDate()

Return the date.

Returns:
Type
baja.Date

getIcon()

Return the Object's Icon.

Inherited From:
Returns:
Type
baja.Icon

getJsDate()

Return a new JavaScript Date based on this AbsTime. The Date will represent
the same instant as this AbsTime (as returned by getMillis()) but will
use the browser's local time zone.

Returns:
Type
Date

getMillis()

Get the number of milliseconds past the epoch represented by this AbsTime.

Returns:
Type
Number

getOffset()

Return the UTC offset.

Returns:
Type
Number

getTime()

Return the time.

Returns:
Type
baja.Time

getType()

Get the type of this instance.

Inherited From:
Returns:
Type
Type

make( [obj])

Make an AbsTime.

Parameters:
Name Type Argument Description
obj Object <optional>

the Object Literal used for the method's arguments.

Properties
Name Type Argument Description
date baja.Date <optional>
time baja.Time <optional>
offset Number | baja.Simple <optional>

(any baja:Number)

jsDate Date <optional>

if defined, this date is used for the date and time.

Overrides:
Returns:

baja.AbsTime

Example
// An Object Literal is used for the method's arguments...
  var at1 = baja.$("baja:AbsTime").make({
    date: baja.$("baja:Date").make({year: 1981, month: 5, day: 17}),
    time: baja.$("baja:Time").make({hour: 15, min: 30}),
    offset: 0
  });
  
  // ...or from a JavaScript Date...
  var at2 = baja.$("baja:AbsTime").make({jsDate: new Date()});

newCopy( [exact])

Every value may be cloned using the newCopy method.

Please note that Simples are immutable so they don't
allocate a new instance.

Parameters:
Name Type Argument Description
exact Boolean <optional>

true if an exact copy of the value should be
made (only valid in the Component architecture).

Inherited From:
See:
Returns:

a copy of the value (or the same instance if the value is a
Simple).


toDateTimeString( [obj])

Asynchronously get a String representation of the AbsTime.

This method is invoked asynchronously. A Function callback or an Object
literal that contains a Function callback must be supplied.

Parameters:
Name Type Argument Description
obj Object <optional>

the Object Literal for the method's arguments.

Properties
Name Type Argument Description
ok function <optional>

(Deprecated: use Promise) the Function callback
that will be invoked once the time has been formatted.

fail function <optional>

(Deprecated: use Promise) the Function callback
that will be invoked if a fatal error occurs whilst formatting the string.

textPattern String <optional>

the text pattern to use for formatting.
If not specified, then the user's default
time format text pattern will be used.

timezone baja.TimeZone <optional>

timezone to use for formatting.
If not specified, then the system default
timezone will try to be determined,
otherwise UTC be used.

show Number <optional>

flags used to format the time. For more
information, please see baja.TimeFormat.

Returns:

promise to be resolved with the formatted string

Type
Promise.<String>
Example
absTime.toDateTimeString().then(function (dateTimeStr) {
    baja.outln("The date time is: " + dateTimeStr);
  });

toDateTimeStringSync(obj)

Synchronously get a String representation of the AbsTime.

This method is invoked synchronously. The string result will be returned
directly from this function.

Notes on lexicons:

  • A lexicon will be used if it is passed in.
  • If no lexicon is passed in, the baja lexicon will be used if it has been
    cached locally.
  • If the baja lexicon has not been cached, strings units will be
    represented by their internal tag names (which are in English).
Parameters:
Name Type Description
obj Object

the Object Literal for the method's arguments.

Properties
Name Type Argument Description
textPattern String <optional>

the text pattern to use for formatting.
If not specified, then the user's default
time format text pattern will be used.

show Number <optional>

flags used to format the time. For more
information, please see baja.TimeFormat.

lex <optional>

the baja lexicon

Returns:
Type
String

toString()

Overrides:
See:
  • .toDateTimeStringSync

valueOf()

Return the inner value of the object.

By default the object's instance is returned.

Inherited From:
Returns:

the inner value of the object or just the object's instance.

Type
*