# Yahoo! UI Library

### datatype 3.0.0

Yahoo! UI Library > datatype > DataType.Date
Search:
Filters
Show Private Show Protected Show Deprecated

## `static` Class DataType.Date

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

### Methods

#### format

`String format ( oDate , oConfig )`
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 {String} (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 ISO8601 standard date format: %Y-%m-%d. This may be overridden by changing Y.config.dateFormat

    %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
  locale {String
  >` (Optional)
  The locale to use when displaying days of week, months of the year, and other locale specific strings. If not specified, this defaults to "en" (though this may be overridden by changing Y.config.locale). The following locales are built in:
  en
    English
  en-US
    US English
  en-GB
    British English
  en-AU
    Australian English (identical to British English)
  More locales may be added by subclassing of Y.DataType.Date.Locale["en"]. See Y.DataType.Date.Locale for more information.

Returns: `String`
  Formatted date for display.

#### parse

`Date parse ( data )`
Converts data to type Date.

Parameters:
  `data <String | Number>` Data to convert. Values supported by the Date constructor are supported.

Returns: `Date`
  A Date, or null.

#### xPad

`private void xPad ( x , pad , r )`
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.

Copyright © 2009 Yahoo! Inc. All rights reserved.