#

API Docs for: 3.10.3
Show: Inherited Protected Private Deprecated

# Date Class

Defined in: `date/js/date-format.js:34`
Module: datatype-date-format
Parent Module: datatype-date

Date provides a set of utility functions to operate against Date objects.

- Index
- Methods

## Item Index

### Methods

- addDays
- addMonths
- addYears
- areEqual
- daysInMonth
- format
- isGreater
- isGreaterOrEqual
- isInRange
- isValidDate
- listOfDatesInMonth
- parse
- xPad

## Methods

### `addDays`

(

- `oDate`
- `numDays`

)
Date

Provided by the datatype-date-math module.

Defined in `date/js/date-math.js:82`

Adds a specified number of days to the given date.

#### Parameters:

- `oDate` Date

  The date to add days to.

- `numDays` Number

  The number of days to add (can be negative)

#### Returns:

Date: A new Date with the specified number of days added to the original date.

### `addMonths`

(

- `oDate`
- `numMonths`

)
Date

Provided by the datatype-date-math module.

Defined in `date/js/date-math.js:96`

Adds a specified number of months to the given date.

#### Parameters:

- `oDate` Date

  The date to add months to.

- `numMonths` Number

  The number of months to add (can be negative)

#### Returns:

Date: A new Date with the specified number of months added to the original date.

### `addYears`

(

- `oDate`
- `numYears`

)
Date

Provided by the datatype-date-math module.

Defined in `date/js/date-math.js:119`

Adds a specified number of years to the given date.

#### Parameters:

- `oDate` Date

  The date to add years to.

- `numYears` Number

  The number of years to add (can be negative)

#### Returns:

Date: A new Date with the specified number of years added to the original date.

### `areEqual`

(

- `aDate`
- `bDate`

)
Boolean

Provided by the datatype-date-math module.

Defined in `date/js/date-math.js:29`

Checks whether two dates correspond to the same date and time.

#### Parameters:

- `aDate` Date

  The first date to compare.

- `bDate` Date

  The second date to compare.

#### Returns:

Boolean: True if the two dates correspond to the same date and time.

### `daysInMonth`

(

- `oDate`

)
Number

Provided by the datatype-date-math module.

Defined in `date/js/date-math.js:161`

Takes a native JavaScript Date and returns the number of days in the month that the given date belongs to.

#### Parameters:

- `oDate` Date

  Date in the month for which the number of days is desired.

#### Returns:

Number: A number (either 28, 29, 30 or 31) of days in the given month.

### `format`

(

- `oDate`
- `oConfig`

)
HTML

Defined in `date/js/date-format.js:169`

Takes a native JavaScript Date and formats it as a string for display to user.

#### Parameters:

- `oDate` Date

  Date.

- `oConfig` Object

  (Optional) Object literal of configuration values:

  format {HTML} (Optional)

    Any strftime string is supported, such as "%I:%M:%S %p". strftime has several format specifiers defined by the Open group at http://www.opengroup.org/onlinepubs/007908799/xsh/strftime.html PHP added a few of its own, defined at http://www.php.net/strftime

    This javascript implementation supports all the PHP specifiers and a few more. The full list is below.

    If not specified, it defaults to the ISO 8601 standard date format: %Y-%m-%d.

    %a
      abbreviated weekday name according to the current locale
    %A
      full weekday name according to the current locale
    %b
      abbreviated month name according to the current locale
    %B
      full month name according to the current locale
    %c
      preferred date and time representation for the current locale
    %C
      century number (the year divided by 100 and truncated to an integer, range 00 to 99)
    %d
      day of the month as a decimal number (range 01 to 31)
    %D
      same as %m/%d/%y
    %e
      day of the month as a decimal number, a single digit is preceded by a space (range " 1" to "31")
    %F
      same as %Y-%m-%d (ISO 8601 date format)
    %g
      like %G, but without the century
    %G
      The 4-digit year corresponding to the ISO week number
    %h
      same as %b
    %H
      hour as a decimal number using a 24-hour clock (range 00 to 23)
    %I
      hour as a decimal number using a 12-hour clock (range 01 to 12)
    %j
      day of the year as a decimal number (range 001 to 366)
    %k
      hour as a decimal number using a 24-hour clock (range 0 to 23); single digits are preceded by a blank. (See also %H.)
    %l
      hour as a decimal number using a 12-hour clock (range 1 to 12); single digits are preceded by a blank. (See also %I.)
    %m
      month as a decimal number (range 01 to 12)
    %M
      minute as a decimal number
    %n
      newline character
    %p
      either "AM" or "PM" according to the given time value, or the corresponding strings for the current locale
    %P
      like %p, but lower case
    %r
      time in a.m. and p.m. notation equal to %I:%M:%S %p
    %R
      time in 24 hour notation equal to %H:%M
    %s
      number of seconds since the Epoch, ie, since 1970-01-01 00:00:00 UTC
    %S
      second as a decimal number
    %t
      tab character
    %T
      current time, equal to %H:%M:%S
    %u
      weekday as a decimal number [1,7], with 1 representing Monday
    %U
      week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week
    %V
      The ISO 8601:1988 week number of the current year as a decimal number, range 01 to 53, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week.
    %w
      day of the week as a decimal, Sunday being 0
    %W
      week number of the current year as a decimal number, starting with the first Monday as the first day of the first week
    %x
      preferred date representation for the current locale without the time
    %X
      preferred time representation for the current locale without the date
    %y
      year as a decimal number without a century (range 00 to 99)
    %Y
      year as a decimal number including the century
    %z
      numerical time zone representation
    %Z
      time zone name or abbreviation
    %%
      a literal "%" character

#### Returns:

HTML: Formatted date for display.

### `isGreater`

(

- `aDate`
- `bDate`

)
Boolean

Provided by the datatype-date-math module.

Defined in `date/js/date-math.js:42`

Checks whether the first date comes later than the second.

#### Parameters:

- `aDate` Date

  The first date to compare.

- `bDate` Date

  The second date to compare.

#### Returns:

Boolean: True if the first date is later than the second.

### `isGreaterOrEqual`

(

- `aDate`
- `bDate`

)
Boolean

Provided by the datatype-date-math module.

Defined in `date/js/date-math.js:54`

Checks whether the first date comes later than or is the same as the second.

#### Parameters:

- `aDate` Date

  The first date to compare.

- `bDate` Date

  The second date to compare.

#### Returns:

Boolean: True if the first date is later than or the same as the second.

### `isInRange`

(

- `aDate`
- `bDate`
- `cDate`

)
Boolean

Provided by the datatype-date-math module.

Defined in `date/js/date-math.js:69`

Checks whether the date is between two other given dates.

#### Parameters:

- `aDate` Date

  The date to check

- `bDate` Date

  Lower bound of the range.

- `cDate` Date

  Higher bound of the range.

#### Returns:

Boolean: True if the date is between the two other given dates.

### `isValidDate`

(

- `oDate`

)
Boolean

Provided by the datatype-date-math module.

Defined in `date/js/date-math.js:12`

Checks whether a native JavaScript Date contains a valid value.

#### Parameters:

- `oDate` Date

  Date in the month for which the number of days is desired.

#### Returns:

Boolean: True if the date argument contains a valid value.

### `listOfDatesInMonth`

(

- `oDate`

)
Array

Provided by the datatype-date-math module.

Defined in `date/js/date-math.js:136`

Lists all dates in a given month.

#### Parameters:

- `oDate` Date

  The date corresponding to the month for which a list of dates is required.

#### Returns:

Array: An `Array` of `Date`s from a given month.

### `parse`

(

- `data`

)
Date

Provided by the datatype-date-parse module.

Defined in `date/js/date-parse.js:9`

Converts data to type Date.

#### Parameters:

- `data` Date | Number | String

  date object, timestamp (string or number), or string parsable by Date.parse

#### Returns:

Date: a Date object or null if unable to parse

### `xPad`

(

- `x`
- `pad`
- `r`

)
private

Defined in `date/js/date-format.js:41`

Pad a number with leading spaces, zeroes or something else

#### Parameters:

- `x` Number

  The number to be padded

- `pad` String

  The character to pad the number with

- `r` Number

  (optional) The base of the pad, eg, 10 implies to two digits, 100 implies to 3 digits.