Class: FlexDateTime

$k. FlexDateTime

new $k.FlexDateTime(value, month, day, hours, minutes)

Constructs a FlexDateTime from the argument(s), which can be a Date object, another FlexDateTime, undefined, or component values.
If undefined, all components of the returned FlexDateTime are undefined

Name Type Description
value optional

Date or FlexDateTime or year component

month optional

Month number

day optional

Day number

hours optional

Hours

minutes optional

Minutes

Example

// All components are undefined
new $k.FlexDateTime();
// Current date
new $k.FlexDateTime(new Date());
// 2007-06-03 21:48
new $k.FlexDateTime(2007, 6, 3, 21, 48);

Represents a flexible date/time without timezone that allowes certain degrees of imprecision.
FlexDateTime has the following components, which can be set to an integer or undefined:
year, month number, day number, hours, minutes.
Note that a FlexDateTime has no seconds.

Methods

static$k.FlexDateTime.parse(string, language)

Parse the date/time string. Both ISO 8601 and localized strings are supported.

Name Type Description
string string

The string representation

language string optional

Language of the value. Either ISO 639-1 (2-letter code, e.g. "en") or ISO 639-2B (3-letter code, e.g. "eng"). If not defined, the current language will be used.
Ignored if the attribute is not translated

Throws:
Type Description
$k.exception.InvalidLanguage

If an invalid language was specified

Returns:
The parsed date/time

coversDate(date) : boolean

Returns true if the date is within the range of this flexible date

Name Type Description
date date
Returns:
Type Description
boolean

equals() : boolean

Returns true if the values are equal

Returns:
Type Description
boolean

getDayNumber() : number

Returns the number of the day, e.g. 18 for 2011-03-18

Returns:
Type Description
number

getHours() : number

Returns the hours

Returns:
Type Description
number

getMinutes() : number

Returns the minutes

Returns:
Type Description
number

getMonthNumber() : number

Returns the number of the month.
Unlike Date.prototype.month(), this is not the 0-based month index,
so for January getMonthNumber() returns 1, not 0

Returns:
Type Description
number

getYear() : number

Returns the full year

Returns:
Type Description
number

maxDate() : Date

Returns the latest exact Javascript date that is within the range of this date/time, e.g. 2007-03-01T23:59:59.999 for the date 2007-03-01.
Assumes that this is a date/time of the local timezone

Returns:
Type Description
Date

maxUTCDate() : Date

Returns the latest exact Javascript date that is within the range of this date/time, e.g. 2007-03-01T23:59:59.999 for the date 2007-03-01.
Assumes that this is a date/time of the local timezone

Returns:
Type Description
Date

minDate() : Date

Returns the earliest exact Javascript date that is within the range of this date/time, e.g. 2007-03-01T0:00:00.0 for the date 2007-03-01.
Assumes that this is a date/time of the local timezone

Returns:
Type Description
Date

minUTCDate() : Date

Returns the earliest exact Javascript date that is within the range of this date/time, e.g. 2007-03-01T0:00:00.0 for the date 2007-03-01.
Assumes that this is an UTC date/time

Returns:
Type Description
Date

setDayNumber(day)

Sets the number of the day, e.g. 23 for 2012-05-23

Name Type Description
day number

setHours(hours)

Sets the hours

Name Type Description
hours number

setMinutes(minutes)

Sets the minutes.

Name Type Description
minutes number

setMonthNumber(month)

Set the number of the month.
Unlike Date.prototype.month(), this is not the 0-based month index,
so for January pass 1 to setMonthNumber() , not 0.

Name Type Description
month number

setValues(year, month, day, hours, minutes)

Sets all components of the FlexDateTime

Name Type Description
year number
month number
day number
hours number
minutes number

setYear(year)

Sets the full year. The year is not modified, so setYear(99) sets the year 99, not 1999.

Name Type Description
year number

toDate() : Date

Returns the date/time as a Javascript date object.
Assumes that this is a date/time of the local timezone

Returns:
Type Description
Date

toJSON()

Returns a string representing the date/time, similar to Date.prototype.toJSON ( key )

See:

toString(language) : string

Returns the string representation. Equivalent to valueString()

Name Type Description
language string optional

Language of the value. Either ISO 639-1 (2-letter code, e.g. "en") or ISO 639-2B (3-letter code, e.g. "eng"). If not defined, the current language will be used.
Ignored if the attribute is not translated

Throws:
Type Description
$k.exception.InvalidLanguage

If an invalid language was specified

Returns:
Type Description
string

toUTC()

Returns the date/time as a UTC date/time
Assumes that this is a local date/time

Since:
  • 4.1.0

toUTCDate() : Date

Returns the date/time as a Javascript date object.
Assumes that this is an UTC date/time

Returns:
Type Description
Date

valueOf() : number

Returns the internal millisecond value. Allows comparing date/time values, since the comparision operators call valueOf()

Returns:
Type Description
number

valueString(language) : string

Returns the string representation

Name Type Description
language string optional

Language of the value. Either ISO 639-1 (2-letter code, e.g. "en") or ISO 639-2B (3-letter code, e.g. "eng"). If not defined, the current language will be used.
Ignored if the attribute is not translated

Throws:
Type Description
$k.exception.InvalidLanguage

If an invalid language was specified

Returns:
Type Description
string