簡體   English   中英

如何在Elm中以GMT顯示當前時區偏移量

[英]How can I display current Timezone offset in GMT, in Elm

我堅持從Elm中的Date獲取當前時區偏移量。

 Date.now 

這將返回<Thu Feb 22 2018 20:42:42 GMT+0530 (India Standard Time)>作為字符串正如我在Elm的日期和時間核心庫中探討的那樣,他們沒有提供任何直接的方法來獲取當前時區偏移。 所以我該怎么做?

import Html as App
import Html exposing (..)
import Date exposing (Date)
import Task


type alias Model = 
  Maybe Date


type Msg = 
  SetDate (Maybe Date)


update : Msg -> Model -> (Model, Cmd Msg)
update (SetDate date) _ = 
  (date, Cmd.none)


view : Model -> Html Msg
view model =
  div [] [ text <| dateString model ]


dateString : Model -> String
dateString model =
  case model of
    Nothing -> "No date here"
    Just date ->
      (toString <| date)

now : Cmd Msg
now = 
  Task.perform (Just >> SetDate) Date.now




main : Program Never Model Msg
main =
  App.program 
    { init = ( Nothing, now ) 
    , view = view
    , subscriptions = always Sub.none 
    , update = update
    }

我需要這個+0530如浮點數5.5

榆樹的DateTime函數目前非常稀疏,但只是為了解決這類問題,請盡量減少Date.Extra庫。 在這里查看

你可以這樣導入它,

import Date.Extra exposing (offsetFromUtc)

然后,你有toString <| date toString <| date將您的管道更改為

date
    |> offsetFromUtc
    |> toString

如果你想要浮點值,那么你會在幾分鍾內得到你的偏移量,只需將int除以60.這里的簡單函數是這樣做的:

divBy60 : Int -> Float
divBy60 t =
    toFloat t / 60.0

然后再次將管道更改為

date
    |> offsetFromUtc
    |> divBy60
    |> toString

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM