Recherche…


Introduction

Ce document traite de la manière de manipuler la date et l’heure en clair.

Pour l'utiliser dans votre application, allez dans votre fichier project.clj et incluez [clj-time "<numéro_version>"] dans votre section: dependencies.

Créer un temps Joda

(clj-time/date-time 2017 1 20)

Vous donne une heure Joda du 20 janvier 2017 à 00:00:00.

Les heures, minutes et secondes peuvent également être spécifiées comme

(clj-time/date-time year month date hour minute second millisecond)

Obtenir le Jour Mois Année Heure Minute Seconde de votre date-heure

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

(def example-time (t/date-time 2016 12 5 4 3 27 456))

(t/year example-time) ;; 2016
(t/month example-time) ;; 12
(t/day example-time) ;; 5
(t/hour example-time) ;; 4
(t/minute example-time) ;; 3
(t/second example-time) ;; 27

Comparer deux date-heure

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

(def date1 (t/date-time 2016 12 5))
(def date2 (t/date-time 2016 12 6))

(t/equal? date1 date2) ;; false
(t/equal? date1 date1) ;; true

(t/before? date1 date2) ;; true
(t/before? date2 date1) ;; false

(t/after? date1 date2) ;; false
(t/after? date2 date1) ;; true

Vérifier si une heure est comprise dans un intervalle de temps

Cette fonction indique si une heure donnée se situe dans un intervalle de temps donné.

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

(def date1 (t/date-time 2016 11 5))
(def date2 (t/date-time 2016 12 5))

(def test-date1 (t/date-time 2016 12 20))
(def test-date2 (t/date-time 2016 11 15))

(t/within? (t/interval date1 date2) test-date1) ;; false
(t/within? (t/interval date1 date2) test-date2) ;; true

La fonction d'intervalle utilisée est exclusive , ce qui signifie qu'elle n'inclut pas le second argument de la fonction dans l'intervalle. Par exemple:

(t/within? (t/interval date1 date2) date2) ;; false
(t/within? (t/interval date1 date2) date1) ;; true

Ajouter joda date-heure à d'autres types d'heures

La bibliothèque clj-time.coerce peut aider à convertir d'autres formats de date et heure au format d'heure joda (clj-time.core / date-time). Les autres formats incluent le format long Java , la chaîne , la date , la date SQL .

Pour convertir l'heure à partir d'autres formats d'heure, incluez la bibliothèque et utilisez la fonction from-, par exemple

(require '[clj-time.coerce :as c])

(def string-time "1990-01-29")
(def epoch-time 633571200)
(def long-time 633551400)

(c/from-string string-time) ;; #<DateTime 1990-01-29T00:00:00.000Z>
(c/from-epoch epoch-time) ;; #<DateTime 1990-01-29T00:00:00.000Z>
(c/from-long 633551400) ;; #<DateTime 1990-01-29T00:00:00.000Z>

Ajout de date et heure à d'autres dates

cljs-time nous donne l'option d'ajouter / soustraire des dates-heures à d'autres dates-heures. La date à laquelle les temps ajoutés doivent être sous forme de jours, mois, années, heures, etc.

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

(def example-date (t/date-time 2016 1 1)) ;; #<DateTime 2016-01-01T00:00:00.000Z>

;; Addition
(t/plus example-date (t/months 1))        ;; #<DateTime 2016-02-01T00:00:00.000Z>
(t/plus example-date (t/years 1))         ;; #<DateTime 2017-01-01T00:00:00.000Z>

;; Subtraction
(t/minus example-date (t/days 1))          ;; #<DateTime 2015-12-31T00:00:00.000Z>
(t/minus example-date (t/hours 12))        ;; #<DateTime 2015-12-31T12:00:00.000Z>


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow