Skip to content

Instantly share code, notes, and snippets.

@ruseel
Last active December 2, 2015 09:54
Show Gist options
  • Save ruseel/e9d87711cd6335b99ca2 to your computer and use it in GitHub Desktop.
Save ruseel/e9d87711cd6335b99ca2 to your computer and use it in GitHub Desktop.

clj-time 사용법

(require '[clj-time.core :as t])
(require '[clj-time.format :as f])

현재시간 구하기

  (def now (t/now))

+9 타임존의 2015/11/30일 Instant 구하기

(t/from-time-zone (t/date-time 2015 11 27) (t/time-zone-for-offset 9))

a부터 b까지 하루 간격의 instant 구하기

(def a (t/from-time-zone (t/date-time 2015 11 27) (t/time-zone-for-offset 9)))
(def b (t/from-time-zone (t/date-time 2015 12 25) (t/time-zone-for-offset 9)))

(take-while #(t/after? b %) (p/periodic-seq a (t/days 1)))

ISO8601을 DateTime으로 바꾸기

  (f/parse "2014-08-12T01:05:00+09:00”)
  (t/to-date-time "2014-08-12T01:05:00+09:00”)

DateTime의 TimeZone을 바꾸기 (전후가 같은 instant이다)

  (t/to-time-zone (f/parse "2014-08-01T00:00:00+09:00") (t/time-zone-for-id "Asia/Seoul")

DateTime을 ISO8601 String (UTC timezone) 으로 바꾸기

  (f/unparse (f/formatters :date-time-no-ms) now)

DateTime을 특정 TimeZone 표현으로 바꾸기

  (def iso8601-in-seoul (f/with-zone (f/formatters :date-time-no-ms) (t/time-zone-for-id "Asia/Seoul")))
  (f/unparse iso8601-in-seoul now)

DateTime을 특정 TimeZone 표현의 yyyyMMdd-HHmm 형식으로 바꾸기

  (f/unparse (f/formatter  "yyyyMMdd-HHmm" tz) now)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment