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.
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.
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.
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.