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.
### 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.: ```clojure (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: ```clojure (show-formatters) ``` Once you have a formatter, parsing and printing are strait-forward: ```clojure => (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.
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 :
,
.
, <space>
, #
and ?
will appear in the resulting time text even they are
not embraced within single quotes.
**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 `:`, `.`, `<space>`, `#` and `?` will appear in the resulting time text even they are not embraced within single quotes.
(instant->map instant)
Returns a map representation of the given instant. It will contain the following keys: :years, :months, :days, :hours, :minutes and :seconds.
Returns a map representation of the given instant. It will contain the following keys: :years, :months, :days, :hours, :minutes and :seconds.
(parse s)
(parse fmt s)
Returns a DateTime instance in the UTC time zone obtained by parsing the given string according to the given formatter.
Returns a DateTime instance in the UTC time zone obtained by parsing the given string according to the given formatter.
(parse-local s)
(parse-local fmt s)
Returns a local DateTime instance obtained by parsing the given string according to the given formatter.
Returns a local DateTime instance obtained by parsing the given string according to the given formatter.
(parse-local-date s)
(parse-local-date fmt s)
Returns a local Date instance obtained by parsing the given string according to the given formatter.
Returns a local Date instance obtained by parsing the given string according to the given formatter.
(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.
Shows how a given DateTime, or by default the current time, would be formatted with each of the available printing formatters.
(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.
Returns a string representing the given DateTime instance in UTC and in the form determined by the given formatter.
(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.
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 {:keys [format-str formatters] :as fmt} dt)
Returns a string representing the given local DateTime instance in the form determined by the given formatter.
Returns a string representing the given local DateTime instance in the form determined by the given formatter.
(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.
Returns a string representing the given local Date instance in the form determined by the given formatter.
(with-default-year f default-year)
Return a copy of a formatter that uses the given default year.
Return a copy of a formatter that uses the given default year.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close