cljs-time.format

### Utilities for parsing and unparsing DateTimes as Strings.

Parsing and printing are controlled by formatters. You can either use one
of the built in ISO 8601 and a single RFC 822 formatters or define your own, e.g.:

  (def built-in-formatter (formatters :basic-date-time))
  (def custom-formatter (formatter "yyyyMMdd"))

To see a list of available built-in formatters and an example of a date-time
printed in their format:

  (show-formatters)

Once you have a formatter, parsing and printing are strait-forward:

  => (parse custom-formatter "20100311")
  #<DateTime 2010-03-11T00:00:00.000Z>

  => (unparse custom-formatter (date-time 2010 10 3))
  "20101003"

By default the parse function always returns a DateTime instance with a UTC
time zone, and the unparse function always represents a given DateTime
instance in UTC.

days

Formatter

formatter

(formatter fmts)(formatter fmts dtz)

formatter-local

(formatter-local fmts)

formatters

**Note: not all formatters have been implemented yet.**

Map of ISO 8601 and a single RFC 822 formatters that can be used
for parsing and, in most cases, printing.

Note: due to current implementation limitations, timezone information
cannot be kept. Although the correct offset will be applied to UTC
time if supplied.

The pattern syntax is mostly compatible with java.text.SimpleDateFormat -
time zone names cannot be parsed and a few more symbols are supported. All
ASCII letters are reserved as pattern letters, which are defined as follows:

  Symbol  Meaning                      Presentation  Examples
  ------  -------                      ------------  -------
  G       era                          text          AD
  C       century of era (>=0)         number        20
  Y       year of era (>=0)            year          1996

  x       weekyear                     year          1996
  w       week of weekyear             number        27
  e       day of week                  number        2
  E       day of week                  text          Tuesday; Tue

  y       year                         year          1996
  D       day of year                  number        189
  M       month of year                month         July; Jul; 07
  d       day of month                 number        10

  a       halfday of day               text          PM
  K       hour of halfday (0~11)       number        0
  h       clockhour of halfday (1~12)  number        12

  H       hour of day (0~23)           number        0
  k       clockhour of day (1~24)      number        24
  m       minute of hour               number        30
  s       second of minute             number        55
  S       fraction of second           number        978
  a       meridiem                     text          am; pm
  A       meridiem                     text          AM; PM

  z       time zone                    text          Pacific Standard Time; PST
  Z       time zone offset/id          zone          -0800; -08:00; America/Los_Angeles

  '       escape for text              delimiter
  ''      single quote                 literal       '

  cljs-time additions:
  ------  -------                      ------------  -------
  Symbol  Meaning                      Presentation  Examples
  ------  -------                      ------------  -------
  o       ordinal suffix               text          st nd rd th (E.G., 1st, 2nd, 3rd, 4th)

The count of pattern letters determine the format.

**Text:** If the number of pattern letters is 4 or more, the full form is used;
otherwise a short or abbreviated form is used if available.

**Number:** The minimum number of digits. Shorter numbers are zero-padded to this
amount.

**Year:** Numeric presentation for year and weekyear fields are handled
specially. For example, if the count of 'y' is 2, the year will be displayed
as the zero-based year of the century, which is two digits.

**Month:** 3 or over, use text, otherwise use number.

**Zone:** 'Z' outputs offset without a colon, 'ZZ' outputs the offset with a
colon, 'ZZZ' or more outputs the zone id.

**Zone names:** Time zone names ('z') cannot be parsed.

Any characters in the pattern that are not in the ranges of ['a'..'z'] and
['A'..'Z'] will be treated as quoted text. For instance, characters like ':',
'.', ' ', '#' and '?' will appear in the resulting time text even they are
not embraced within single quotes.

Mappable

protocol

members

instant->map

(instant->map instant)
Returns a map representation of the given instant.
It will contain the following keys: :years, :months,
:days, :hours, :minutes and :seconds.

months

not-implemented

(not-implemented sym)

parse

(parse fmt s)(parse s)
Returns a DateTime instance in the UTC time zone obtained by parsing the
given string according to the given formatter.

parse-local

(parse-local fmt s)(parse-local s)
Returns a local DateTime instance obtained by parsing the
given string according to the given formatter.

parse-local-date

(parse-local-date fmt s)(parse-local-date s)
Returns a local Date instance obtained by parsing the
given string according to the given formatter.

show-formatters

(show-formatters)(show-formatters dt)
Shows how a given DateTime, or by default the current time, would be
formatted with each of the available printing formatters.

skip-timezone-formatter

(skip-timezone-formatter)

unparse

(unparse {:keys [format-str formatters]} dt)
Returns a string representing the given DateTime instance in UTC and in the
form determined by the given formatter.

unparse-duration

(unparse-duration duration)
Accepts a Period or Interval and outputs an absolute duration time
in form of "1 day", "2 hours", "20 minutes", "2 days 1 hour
15 minutes" etc.

unparse-local

(unparse-local {:keys [format-str formatters], :as fmt} dt)
Returns a string representing the given local DateTime instance in the
form determined by the given formatter.

unparse-local-date

(unparse-local-date {:keys [format-str formatters], :as fmt} dt)
Returns a string representing the given local Date instance in the form
determined by the given formatter.

with-default-year

(with-default-year f default-year)
Return a copy of a formatter that uses the given default year.