我有一个即兴的时间在" 2016-08-03T18:45:00.000-00:00"。我想将它转换为仅日期(" 2016-08-03")。我该怎么做。
我的实际日期格式为" 2016-08-03T18:45:00Z"。我把它转换为即时使用(c /至今(f / parse" 2016-08-03T18:45:00Z"))。如何只获得日期?
谢谢
答案 0 :(得分:2)
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)返回当前服务器区域,因此,如果要使用静态分区日期,则必须使用(jt / zone-id“ America / Mexico_City”)。
答案 1 :(得分:1)
如果您只想获取日期和时间字符串的日期部分:
(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"