new AbsTime()
- Description:
Represents a
baja:AbsTimein BajaScript.AbsTimeencapsulates an absolute point in time relative to a given
time zone.When creating a
Simple, always use themakemethod instead of
creating a new Object.
- Source:
Extends
Members
(static) DEFAULT :baja.AbsTime
- Description:
Default AbsTime instance - maps to Java Epoch.
- Source:
Default AbsTime instance - maps to Java Epoch.
Type:
Methods
decodeAsync(str, batchopt) → {baja.Simple|Promise.<baja.Simple>}
- Description:
The string encoding of certain Simples may include Type information, or other data that may
require asynchronous operations to decode. For instance, some Simples may function as
"containers" for other Simples, and may include that Type information in the string encoding.
That Simple would then need to import those Types before it could be fully decoded in the
browser.baja.Facets is a great example of this. A Facets may contain FrozenEnum values that are
defined by Types, such asbaja:Weekday. For a Facets containing a Weekday to be fully
constructed in the browser, thebaja:WeekdayType must be imported first. Since importing
a Type may require a network call, this Facets instance might not be able to be constructed
synchronously, using onlydecodeFromString(). baja.Facets has itself implemented
decodeAsync()to import any necessary Types.When implementing a Type Extension for a Simple, if your Simple references arbitrary Types that
need to be imported when decoding your Simple, implementdecodeAsync()and perform any Type
imports (or other asynchronous operations) there.If you are writing code that decodes Simples from strings - that is, when you have a type spec
and string encoding, and you need to be able to decode any kind of Simple - favor the use of
decodeAsync, as it gives the individual Simple a chance to perform async operations to ensure
that the decoded Simple is fully correct.The default implementation just returns
decodeFromStringdirectly.Prior to Niagara 4.14,
decodeAsync()was only used in field editors. In 4.14 and later,
decodeAsync()will be used by BajaScript itself to support asynchronous decoding of Simples
when resolving ORDs and retrieving other data from the station.(Note:
decodeAsync()cannot be used by the framework to decode frozen slots. If you
have a frozen slot, whose definition is a Simple that would require the use of
decodeAsync()to construct it, it will not work. The best approach would be to implement a
Type Extension that would use thebaja!plugin to preload all the types referenced by the
default value of that frozen slot, so thatdecodeFromStringwould have all the information
it needed to construct it synchronously.)
- Source:
- Inherited From:
Example
return Promise.resolve(baja.$(simpleTypeSpec).decodeAsync(stringEncoding))
.then((simpleInstance) => {});
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
str |
string | ||
batch |
baja.comm.Batch |
<optional> |
optional batch to use |
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) → {baja.AbsTime}
- Description:
Decode an
AbsTimefrom a String.
- Source:
- Overrides:
Parameters:
| Name | Type | Description |
|---|---|---|
str |
String |
Returns:
- Type
- baja.AbsTime
encodeToString() → {String}
- Description:
Encode the AbsTime to a String.
- Source:
- Overrides:
Returns:
- Type
- String
equals(obj) → {Boolean}
- Description:
Equality test.
- Source:
- Overrides:
Parameters:
| Name | Type | Description |
|---|---|---|
obj |
Returns:
- Type
- Boolean
equivalent(obj) → {Boolean}
- Description:
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.
- Source:
- Inherited From:
Parameters:
| Name | Type | Description |
|---|---|---|
obj |
Returns:
- Type
- Boolean
getAgents(isopt, batchopt) → {Promise}
- Description:
Returns a promise that resolves to the agent list for this Object.
- Source:
- Inherited From:
- See:
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
is |
Array.<String> |
<optional> |
An optional array of filters to add to the |
batch |
baja.comm.Batch |
<optional> |
An optional object used to batch network |
Returns:
A promise that will resolve with the Agent Info.
- Type
- Promise
getDataTypeSymbol() → {String}
- Description:
Return the data type symbol.
- Source:
Returns:
- Type
- String
getDate() → {baja.Date}
- Description:
Return the date.
- Source:
Returns:
- Type
- baja.Date
getDay() → {Number}
- Description:
Return the day (1-31).
- Source:
Returns:
- Type
- Number
getHour() → {Number}
- Description:
Return the hour (0-23)
- Source:
Returns:
- Type
- Number
getIcon() → {baja.Icon}
- Description:
Return the Object's Icon.
- Source:
- Inherited From:
Returns:
- Type
- baja.Icon
getJsDate() → {Date}
- Description:
Return a new JavaScript Date based on this AbsTime. The Date will represent
the same instant as this AbsTime (as returned bygetMillis()) but will
use the browser's local time zone.
- Source:
Returns:
- Type
- Date
getMillis() → {Number}
- Description:
Get the number of milliseconds past the epoch represented by this AbsTime.
- Source:
Returns:
- Type
- Number
getMillisecond() → {Number}
- Description:
Returns milliseconds from the time (0-999)
- Source:
Returns:
- Type
- Number
getMinute() → {Number}
- Description:
Return minutes (0-59).
- Source:
Returns:
- Type
- Number
getMonth() → {baja.FrozenEnum}
- Description:
Return the month.
When invoking this method, please ensure the
baja:MonthType has been
imported.
- Source:
- See:
Returns:
a baja:Month FrozenEnum
- Type
- baja.FrozenEnum
getOffset() → {Number}
- Description:
Return the UTC offset.
- Source:
Returns:
- Type
- Number
getSecond() → {Number}
- Description:
Return seconds (0-59).
- Source:
Returns:
- Type
- Number
getTime() → {baja.Time}
- Description:
Return the time.
- Source:
Returns:
- Type
- baja.Time
getType() → {Type}
- Description:
Get the type of this instance.
- Source:
- Inherited From:
Returns:
- Type
- Type
getTypeDisplayName(cxopt) → {Promise.<string>|string}
- Description:
Gets the friendly type display name for this object.
- Source:
- Since:
- Niagara 4.10
- Inherited From:
- See:
-
- baja.Type#getDisplayName
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
cx |
Object |
<optional> |
a context to be passed down to Type |
Returns:
If no context is provided, the type
display name is returned synchronously as a string. If context provided,
the type display name is resolved via a promise as a string.
- Type
- Promise.<string> | string
getWeekday() → {baja.FrozenEnum}
- Description:
Returns the day of the week.
- Source:
- See:
Returns:
a baja:Weekday FrozenEnum.
- Type
- baja.FrozenEnum
getYear() → {Number}
- Description:
Return the year.
- Source:
Returns:
- Type
- Number
isLeapDay() → {boolean}
- Source:
- Since:
- Niagara 4.12
Returns:
- Type
- boolean
isNull() → {boolean}
- Source:
- Since:
- Niagara 4.14
Returns:
if this represents the null AbsTime.
- Type
- boolean
make(objopt)
- Description:
Make an AbsTime.
- Source:
- Overrides:
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()});
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
obj |
Object |
<optional> |
the Object Literal used for the method's arguments. Properties
|
Returns:
baja.AbsTime
newCopy(exactopt)
- Description:
Every value may be cloned using the
newCopymethod.Please note that
Simples are immutable so they don't
allocate a new instance.
- Source:
- Inherited From:
- See:
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
exact |
Boolean |
<optional> |
true if an exact copy of the value should be |
Returns:
a copy of the value (or the same instance if the value is a
Simple).
nextDay() → {baja.AbsTime}
- Description:
returns a
baja.AbsTimeobject that is 1 day after thisbaja.AbsTime
- Source:
- Since:
- Niagara 4.12
Returns:
- Type
- baja.AbsTime
nextMonth() → {baja.AbsTime}
- Description:
returns a
baja.AbsTimeobject that is 1 month after thisbaja.AbsTime
- Source:
- Since:
- Niagara 4.12
Returns:
- Type
- baja.AbsTime
nextYear() → {baja.AbsTime}
- Description:
returns a
baja.AbsTimeobject that is 1 year after thisbaja.AbsTime
- Source:
- Since:
- Niagara 4.12
Returns:
- Type
- baja.AbsTime
prevDay() → {baja.AbsTime}
- Description:
returns a
baja.AbsTimeobject that is 1 day before thisbaja.AbsTime
- Source:
- Since:
- Niagara 4.12
Returns:
- Type
- baja.AbsTime
prevMonth() → {baja.AbsTime}
- Description:
returns a
baja.AbsTimeobject that is 1 month before thisbaja.AbsTime
- Source:
- Since:
- Niagara 4.12
Returns:
- Type
- baja.AbsTime
prevYear() → {baja.AbsTime}
- Description:
returns a
baja.AbsTimeobject that is 1 year before thisbaja.AbsTime
- Source:
- Since:
- Niagara 4.12
Returns:
- Type
- baja.AbsTime
toDateString(obj) → {Promise.<String>}
- Description:
Gets the date string for this baja.AbsTime
- Source:
- See:
Parameters:
| Name | Type | Description |
|---|---|---|
obj |
Object | the Object Literal for the method's arguments. |
Returns:
- Type
- Promise.<String>
toDateTimeString(objopt) → {Promise.<String>}
- Description:
Asynchronously get a
Stringrepresentation of theAbsTime.This method is invoked asynchronously. A
Functioncallback or anObject
literal that contains aFunctioncallback must be supplied.
- Source:
Example
absTime.toDateTimeString().then(function (dateTimeStr) {
baja.outln("The date time is: " + dateTimeStr);
});
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
obj |
Object |
<optional> |
the Object Literal for the method's arguments. Properties
|
Returns:
promise to be resolved with the formatted string
- Type
- Promise.<String>
toDateTimeStringSync(objopt) → {String}
- Description:
Synchronously get a
Stringrepresentation of theAbsTime.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).
- Source:
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
obj |
Object |
<optional> |
the Object Literal for the method's arguments. Properties
|
Returns:
- Type
- String
toDateTimeStringWithLongYear(objopt) → {Promise.<String>}
- Description:
Asynchronously get a
Stringrepresentation of theAbsTimealways showing the long year
format if year part is available.This method is invoked asynchronously. A
Functioncallback or anObject
literal that contains aFunctioncallback must be supplied.
- Source:
- Since:
- Niagara 4.13
Example
absTime.toDateTimeStringWithLongYear().then(function (dateTimeStr) {
baja.outln("The date time with long year is: " + dateTimeStr);
});
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
obj |
Object |
<optional> |
the Object Literal for the method's arguments. Properties
|
Returns:
promise to be resolved with the formatted string
- Type
- Promise.<String>
toString() → {String|Promise.<String>}
- Source:
- Overrides:
- See:
-
- .toDateTimeString if obj is defined
- .toDateTimeStringSync if obj is undefined
Returns:
a String if an undefined parameter object is passed, otherwise a Promise.
toTimeString(obj) → {Promise.<String>}
- Description:
Gets the time string for this baja.AbsTime
- Source:
- See:
Parameters:
| Name | Type | Description |
|---|---|---|
obj |
Object | the Object Literal for the method's arguments. |
Returns:
- Type
- Promise.<String>
valueOf() → {Number}
- Source:
- Overrides:
Returns:
result of getMillis
- Type
- Number
(static) getDaysInMonth(year, month) → {number}
- Source:
- Since:
- Niagara 4.12
Parameters:
| Name | Type | Description |
|---|---|---|
year |
number | |
month |
number | baja.FrozenEnum | either a |
Returns:
days in month
- Type
- number
(static) isLeapYear(year) → {boolean}
- Source:
- Since:
- Niagara 4.12
Parameters:
| Name | Type | Description |
|---|---|---|
year |
number |
Returns:
- Type
- boolean
(static) make(objopt) → {baja.AbsTime}
- Description:
Make an
AbsTime.
- Source:
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());
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
obj |
Object |
<optional> |
the Object literal used for the method's arguments. Properties
|
Returns:
- Type
- baja.AbsTime
(static) now() → {baja.AbsTime}
- Description:
Make an AbsTime with the current date and time.
- Source:
Returns:
- Type
- baja.AbsTime