2015-02-05 13 views
5

Sto cercando di calcolare la differenza tra due istanze DateTime utilizzando clj-time. Ho esaminato la documentazione e trovato clj-time.core/minus e clj-time.core/minus- ma entrambi richiedono un'istanza di org.joda.time.ReadablePeriod e non uno di DateTime. Preferirei usare cli-time, ma se non esiste alcuna soluzione, quale sarebbe il metodo più pulito per calcolare il delta usando Joda Time?Ottieni la differenza tra le istanze DateTime con clj-time

Grazie per l'aiuto.

risposta

7

Io uso questo frammento molto spesso nel mio lavoro quotidiano:

(ns project.namespace1 
    (:require [clj-time 
       [core :as t]]) 

(let [start-time (t/now)] 
    ... do lots of work ... 
    (t/in-millis (t/interval start-time (t/now)))) 
+0

che funziona bene. Grazie. Ho un'ultima domanda, tuttavia: non c'è modo di restituire un'istanza su cui si può chiamare 't/hour', ad esempio? O dobbiamo fare noi stessi matematica con i millisecondi? – davenportw15

+0

Ci sono anche 'in-ore',' in-giorni' e così via. Ricorda che 'hour' è per interrogare" quale ora del giorno è questo evento? ". Un intervallo non si verifica in un particolare momento della giornata, quindi questa domanda non ha senso chiedere. – Magos

+0

Quindi la matematica è allora. Grazie per l'aiuto. – davenportw15

Problemi correlati