Datetime 通过cljs time将js日期解析为本地时间字符串

Datetime 通过cljs time将js日期解析为本地时间字符串,datetime,clojurescript,Datetime,Clojurescript,现在是15点51分 在联合技术消防队是13:51。我正试图借助cljs时间库来解析当前的本地时间 以下是非本地方法: (require [cljs-time.format :as tf] [cljs-time.coerce :as tc]) (tf/unparse (tf/formatter "HH") (tc/from-date (js/Date.))) ;; 13 不幸的是,以下结果与预期结果相同,而不是预期结果15: (tf/unparse-local (tf/fo

现在是15点51分

在联合技术消防队是13:51。我正试图借助cljs时间库来解析当前的本地时间

以下是非本地方法:

(require [cljs-time.format :as tf]
         [cljs-time.coerce :as tc])

(tf/unparse (tf/formatter "HH") (tc/from-date (js/Date.)))
;; 13 
不幸的是,以下结果与预期结果相同,而不是预期结果15:

(tf/unparse-local (tf/formatter-local "HH") (tc/from-date (js/Date.)))

有人知道这里发生了什么吗?

默认情况下,
cljs-time
通过
goog.date.UtcDateTime
工作,它返回UTC小时和分钟

unpasse local
formatter local
只需从格式字符串中删除时区字段。它们不会影响时区

要使用本地(默认)时间,
goog.date.DateTime
,可以使用
cljs time.core/默认时区

(require '[cljs-time.core :as time]
         '[cljs-time.format :as fmt])

(tf/unparse (tf/formatter "HH") (time/to-default-time-zone (js/Date.)))
这将以小时为单位返回您的本地时间