如何在clojure中将即时时间转换为日期
How to convert instant time to date in 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")).How to get only date?
谢谢
如果您只想获取日期和时间字符串的日期部分:
(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-time 现已弃用,新项目应使用 java-time:
(: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) returns 当前服务器区域,因此如果您想要静态区域日期,则必须使用 (jt/zone-id "America/Mexico_City")。
我在 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")).How to get only date?
谢谢
如果您只想获取日期和时间字符串的日期部分:
(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-time 现已弃用,新项目应使用 java-time:
(: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) returns 当前服务器区域,因此如果您想要静态区域日期,则必须使用 (jt/zone-id "America/Mexico_City")。