这是15:51。
嗯,在UTF中它的13:51。我试图在cljs-time库的帮助下解析当前的当地时间。
这是非本地方法:
(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.)))
有人知道,这里发生了什么?
答案 0 :(得分:1)
默认情况下,cljs-time
通过goog.date.UtcDateTime
工作,返回UTC小时和分钟。
unparse-local
和formatter-local
只是从格式字符串中删除时区字段。它们不会影响时区。
要使用本地(默认)时间goog.date.DateTime
,您可以使用cljs-time.core/to-default-time-zone
:
(require '[cljs-time.core :as time]
'[cljs-time.format :as fmt])
(tf/unparse (tf/formatter "HH") (time/to-default-time-zone (js/Date.)))
这应该以小时为单位返回当地时间。