Analisi di una data da una stringa

Clojure:
Analisi di una data da una stringa

Come fare:

Clojure, essendo un linguaggio JVM, ti consente di utilizzare direttamente le librerie di date e orari di Java. Iniziamo con l’interoperabilità Java integrata e poi esploriamo come utilizzare una popolare libreria di terze parti, clj-time, per soluzioni più idiomatiche di Clojure.

Utilizzando l’Interop Java

Clojure può sfruttare direttamente java.time.LocalDate di Java per l’analisi delle date da stringhe:

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

; Analisi di una data usando l'interop Java
(let [date-str "2023-04-01"
      date (java.time.LocalDate/parse date-str)]
  (println date))
; Output: 2023-04-01

Utilizzando clj-time

Una libreria più idiomatica di Clojure per la gestione di date e orari è clj-time. Essa incapsula Joda-Time, una libreria completa per le operazioni di date e orari. Prima cosa, devi aggiungere clj-time alle dipendenze del tuo progetto. Ecco come analizzi una stringa di date usando clj-time:

; Assicurati di aggiungere [clj-time "0.15.2"] al tuo project.clj sotto :dependencies

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

; Definisci un formatter
(let [formatter (fmt/formatter "yyyy-MM-dd")
      date-str "2023-04-01"
      parsed-date (fmt/parse formatter date-str)]
  (println parsed-date))
; Output: #object[org.joda.time.DateTime 0x76eccb5d "2023-04-01T00:00:00.000Z"]

Questi esempi dimostrano un’analisi di base delle date. Entrambi i metodi sono utili, ma clj-time può fornire un approccio più centrato su Clojure con funzionalità aggiuntive per requisiti complessi.