문자열에서 날짜 분석하기

Clojure:
문자열에서 날짜 분석하기

방법:

클로저는 JVM 언어이기 때문에 자바의 날짜와 시간 라이브러리를 직접 사용할 수 있습니다. 내장된 자바 상호운용성으로 시작한 다음, 더 관용적인 클로저 솔루션을 위해 인기 있는 타사 라이브러리인 clj-time을 사용하는 방법을 탐구해보겠습니다.

자바 상호운용 사용하기

클로저는 자바의 java.time.LocalDate를 직접 활용하여 문자열에서 날짜를 파싱할 수 있습니다:

(require '[clojure.java.io :as io])

; 자바 상호운용을 사용한 날짜 파싱
(let [date-str "2023-04-01"
      date (java.time.LocalDate/parse date-str)]
  (println date))
; 출력: 2023-04-01

clj-time 사용하기

날짜와 시간을 다루기 위한 더 관용적인 클로저 라이브러리는 clj-time입니다. 이것은 날짜와 시간 연산을 위한 포괄적인 라이브러리인 Joda-Time을 래핑합니다. 우선, 프로젝트의 의존성에 clj-time을 추가할 필요가 있습니다. 다음은 clj-time을 사용하여 날짜 문자열을 파싱하는 방법입니다:

; 프로젝트.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은 복잡한 요구 사항을 위한 추가 기능과 함께 더 클로저 중심적인 접근 방식을 제공할 수 있습니다.