2016-09-29 14 views
1

ここは15:51です。unparse js cljs時間による現地時間の文字列

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.))) 

ここで何が起こっているか、誰を知っていますか?

答えて

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.))) 

これは時間にあなたのローカル時刻を返す必要があります。

関連する問題