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-01
Usando 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.