Clojure:
Analisando uma data a partir de uma string
Como Fazer:
Clojure, sendo uma linguagem JVM, permite que você use diretamente as bibliotecas de data e hora do Java. Vamos começar com a interoperabilidade Java incorporada e, depois, explorar como utilizar uma biblioteca de terceiros popular, clj-time, para soluções mais idiomáticas em Clojure.
Usando Interoperabilidade Java
Clojure pode aproveitar diretamente java.time.LocalDate do Java para analisar datas a partir de strings:
(require '[clojure.java.io :as io])
; Analisando uma data usando interoperabilidade Java
(let [date-str "2023-04-01"
date (java.time.LocalDate/parse date-str)]
(println date))
; Saída: 2023-04-01Usando clj-time
Uma biblioteca mais idiomática em Clojure para lidar com datas e horas é clj-time. Ela encapsula o Joda-Time, uma biblioteca abrangente para operações de data e hora. Primeiro, você precisará adicionar clj-time às dependências do seu projeto. Veja como você analisa uma string de data usando clj-time:
; Certifique-se de adicionar [clj-time "0.15.2"] ao seu project.clj em :dependencies
(require '[clj-time.format :as fmt]
'[clj-time.core :as time])
; Definindo um formatador
(let [formatter (fmt/formatter "yyyy-MM-dd")
date-str "2023-04-01"
parsed-date (fmt/parse formatter date-str)]
(println parsed-date))
; Saída: #object[org.joda.time.DateTime 0x76eccb5d "2023-04-01T00:00:00.000Z"]Estes exemplos demonstram análise básica de data. Ambos os métodos são úteis, mas clj-time pode proporcionar uma abordagem mais centrada em Clojure com funcionalidades adicionais para requisitos complexos.