Public Vars

Back

formatter (clj)

(source)

function

(formatter fmt) (formatter fmt locale)
Constructs a DateTimeFormatter out of either a * format string - "YYYY/mm/DD" "YYY HH:MM" etc. or * formatter name - :iso-instant :iso-local-date etc and a Locale, which is optional.

Examples

tick
(ns tick.addon-libs-test
  (:require
    [tick.core :as t]
    [tick.timezone]
    [tick.locale-en-us]
    [clojure.test
     :refer [deftest is testing run-tests]
     :refer-macros [deftest is testing run-tests]]))

(deftest locale-test 
  (is (t/formatter "yyyy-MMM-dd")))
tick
(ns tick.api-test
  (:require
    [clojure.test
     :refer [deftest is testing run-tests]
     :refer-macros [deftest is testing run-tests]]
    [tick.core :as t]
    [tick.locale-en-us]
    [tick.protocols :as p]
    [cljc.java-time.clock]
    [cljc.java-time.instant]
    [cljc.java-time.day-of-week]
    [cljc.java-time.month]
    [cljc.java-time.year]
    #?@(:cljs [[java.time :refer [Instant]]]))
  #?(:clj
     (:import [java.time Instant])))

(deftest formatting-test
  (testing "all predefined formatters exist"
    (doseq [pre-defined (vals t/predefined-formatters)]
      (is pre-defined)))
  (let [d "3030-05-03"]
    (is (= d (t/format :iso-local-date (t/date d))))
    (is (= d (t/format (t/formatter :iso-local-date) (t/date d))))
    (is (= d (t/format (t/formatter "YYYY-MM-dd") (t/date d))))
    #?(:bb
       ; bb only inlcludes the English Locale by default
       (is (= "3030-May-03" (t/format (t/formatter "YYYY-MMM-dd" java.util.Locale/FRENCH)
                              (t/date d))))
       :clj
       (is (= "3030-mai-03" (t/format (t/formatter "YYYY-MMM-dd" java.util.Locale/FRENCH)
                              (t/date d)))))))

(deftest parse-test
  (is (t/date? (t/parse-date "2020/02/02" (t/formatter "yyyy/MM/dd"))))
  (is (t/year? (t/parse-year "20" (t/formatter "yy"))))
  (is (t/year-month? (t/parse-year-month "20/02" (t/formatter "yy/MM"))))
  (is (t/date-time? (t/parse-date-time "2020/02/02:2002" (t/formatter "yyyy/MM/dd:HHmm"))))
  (is (t/time? (t/parse-time "2002" (t/formatter "HHmm"))))
  (is (t/zoned-date-time? (t/parse-zoned-date-time "2020/02/02:2002:Z"
                            (t/formatter "yyyy/MM/dd:HHmm:VV"))))
  (is (t/offset-date-time? (t/parse-offset-date-time "2020/02/02:2002:-08:30"
                             (t/formatter "yyyy/MM/dd:HHmm:VV")))))
juxt/tick
(ns tick.addon-libs-test
  (:require
    [tick.core :as t]
    [tick.timezone]
    [tick.locale-en-us]
    [clojure.test
     :refer [deftest is testing run-tests]
     :refer-macros [deftest is testing run-tests]]))

(deftest locale-test 
  (is (t/formatter "yyyy-MMM-dd")))