Clojure:
文字列から日付をパースする
方法:
ClojureはJVM言語であるため、Javaの日付と時間のライブラリを直接使用できます。まず、組み込みのJava相互運用を始めにして、その後、よりイディオマティックなClojureソリューションに対して人気のサードパーティライブラリ、clj-timeの利用方法を探ります。
Java相互運用を使用する
Clojureは、文字列から日付を解析するためにJavaのjava.time.LocalDate
を直接活用できます:
(require '[clojure.java.io :as io])
; Java相互運用を使用して日付を解析する
(let [date-str "2023-04-01"
date (java.time.LocalDate/parse date-str)]
(println date))
; 出力: 2023-04-01
clj-timeを使用する
日付と時間を扱うためのよりイディオマティックなClojureライブラリであるclj-time
があります。これは、日付と時間の操作のための包括的なライブラリであるJoda-Timeをラップしています。まず、clj-time
をプロジェクトの依存関係に追加する必要があります。ここでは、clj-time
を使用して日付文字列を解析する方法を示します:
; プロジェクトのproject.cljの :dependencies に[clj-time "0.15.2"]を追加することを確認してください
(require '[clj-time.format :as fmt]
'[clj-time.core :as time])
; フォーマッタを定義する
(let [formatter (fmt/formatter "yyyy-MM-dd")
date-str "2023-04-01"
parsed-date (fmt/parse formatter date-str)]
(println parsed-date))
; 出力: #object[org.joda.time.DateTime 0x76eccb5d "2023-04-01T00:00:00.000Z"]
これらの例は、基本的な日付解析を示しています。両方の方法は有用ですが、clj-time
はよりClojure中心のアプローチを提供でき、複雑な要件に対する追加機能を提供することができます。