如何在clojure中将即时时间转换为日期
我在clojure的即时时间是2016-08-03T18:45:00.000-00:00。我想将其转换为仅日期2016-08-03。我该怎么做呢 我的实际日期格式为2016-08-03T18:45:00Z。我使用c/to date f/parse 2016-08-03T18:45:00Z将其转换为即时。如何仅获取日期如何在clojure中将即时时间转换为日期,clojure,clojurescript,Clojure,Clojurescript,我在clojure的即时时间是2016-08-03T18:45:00.000-00:00。我想将其转换为仅日期2016-08-03。我该怎么做呢 我的实际日期格式为2016-08-03T18:45:00Z。我使用c/to date f/parse 2016-08-03T18:45:00Z将其转换为即时。如何仅获取日期 如果您只想获取日期和时间字符串的日期部分,请多谢: (require '[clojure.string :as str]) (def date-str "2016-08-03T1
如果您只想获取日期和时间字符串的日期部分,请多谢:
(require '[clojure.string :as str])
(def date-str "2016-08-03T18:45:00.000-00:00")
(first (str/split date-str #"T"))
;; => "2016-08-03"
如果只想获取日期和时间字符串的日期部分:
(require '[clojure.string :as str])
(def date-str "2016-08-03T18:45:00.000-00:00")
(first (str/split date-str #"T"))
;; => "2016-08-03"
现在不推荐使用clj时间,新项目应使用java时间:
(:require [java-time :as jt]))
(defn format-date
"Format a Java instant"
[date]
(let [formatter (jt/format "dd-MM-yyyy HH:mm")
instant-with-zone (.atZone date (jt/zone-id))]
(jt/format formatter instant-with-zone)))
请注意,jt/zone id返回当前服务器区域,因此如果需要静态分区日期,必须使用jt/zone id America/Mexico_City 现在不推荐使用clj时间,新项目应使用java时间:
(:require [java-time :as jt]))
(defn format-date
"Format a Java instant"
[date]
(let [formatter (jt/format "dd-MM-yyyy HH:mm")
instant-with-zone (.atZone date (jt/zone-id))]
(jt/format formatter instant-with-zone)))
请注意,jt/zone id返回当前服务器区域,因此如果需要静态分区日期,必须使用jt/zone id America/Mexico_City 你可能想使用这个库:@AlanThompson是的,我只是指那个。但是你可能想使用这个库:@AlanThompson是的,我只是指这个。但是不能带着ans来