Beregning av en dato i fremtiden eller fortiden

Clojure:
Beregning av en dato i fremtiden eller fortiden

Hvordan Gjøre Det:

(require '[clj-time.core :as t])
(require '[clj-time.coerce :as c])
(require '[clj-time.periodic :as p])

;; Beregner en dato 10 dager fra nå
(let [today (t/now)
      future-date (t/plus today (t/days 10))]
  (c/to-string future-date))
;;=> "2023-04-10T14:59:59.999Z"

;; Beregner en dato 5 år tilbake i tid
(let [today (t/now)
      past-date (t/minus today (t/years 5))]
  (c/to-string past-date))
;;=> "2018-03-31T14:59:59.999Z"

Dypdykk

Beregner av datoer har vært nyttig siden starten av programmering. På den tiden var det vanlig å gjøre alt fra grunnen av. Nå har vi biblioteker som clj-time, som bygger på Jodas java.time biblioteket. I Clojure gir clj-time enklere, Clojure-vennlig syntaks for datohåndtering og operasjoner som å legge til eller trekke fra tidsperioder.

Alternativer til clj-time inkluderer innebygde funksjoner i java.time, eller for eldre prosjekter, klasser som java.util.Date og java.util.Calendar. Men disse kan være mer klossete og verbøse.

Et viktig detalj å huske når du jobber med tid og datoer er tidszoner. Alltid vurdere tidssonekonsekvenser, spesielt når du planlegger noe over forskjellige geografiske regioner.

Se Også