Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Clojurescript中为日期添加秒数_Javascript_Date_Clojure_Clojurescript - Fatal编程技术网

Javascript 在Clojurescript中为日期添加秒数

Javascript 在Clojurescript中为日期添加秒数,javascript,date,clojure,clojurescript,Javascript,Date,Clojure,Clojurescript,我想在Clojurescript中为日期添加秒。在Javascript中: var t = new Date(); t.setSeconds(t.getSeconds() + 10); 如果可能的话,不需要一个图书馆(比如),原因很简单,这是我想我唯一需要的约会 我想知道Javascript日期是否可以用毫秒来构造 (defn add-seconds [js-time seconds] (let [given-millis (.getMilliseconds js-time)

我想在Clojurescript中为日期添加秒。在Javascript中:

var t = new Date();
t.setSeconds(t.getSeconds() + 10);
如果可能的话,不需要一个图书馆(比如),原因很简单,这是我想我唯一需要的约会

我想知道Javascript日期是否可以用毫秒来构造

(defn add-seconds [js-time seconds]
  (let [given-millis (.getMilliseconds js-time)
        augmented-millis (+ (* seconds 1000) given-millis)
        res (js/Date. augmented-millis)]
    res))

(def now (js/Date.))
(def plus-20 (add-seconds now 20))
(log "Now is " now)
(log "20 secs time is " plus-20)

如果将.getmillizes替换为.getTime,则此解决方案有效。以下函数可通过两种不同方式使用:

(defn add-seconds
  ([s] (add-seconds (js/Date.) s))
  ([d s] (js/Date. (+ (.getTime d) (* 1000 s)))))
使用1个参数调用它将返回一个新的日期,从“现在”开始计算为秒:

使用2个参数调用它可以指定开始日期和与该日期的偏移量(以秒为单位):

(def the-epoch (js/Date. 0))
;; This gives us a Date to use

(add-seconds the-epoch 120)
;; #inst "1970-01-01T00:02:00.000-00:00"
(def the-epoch (js/Date. 0))
;; This gives us a Date to use

(add-seconds the-epoch 120)
;; #inst "1970-01-01T00:02:00.000-00:00"