我试图弄清楚如何在.17版本的Elm中获取当前日期。我看到他们在.17中添加了Date模块,但是我还没有找到任何有关如何使用它的示例。有没有人知道如何做到这一点?
I'm trying to figure out how to get the current date in elm in version .17. I see that they added a Date module to .17 but I haven't found any examples on how it's used. Has anyone figured out how to do this?
编辑:在尝试改进此解决方案时,我遇到了另一个绊脚石。我试图触发设置日期,然后打电话给另一个Msg做其他事情。但是我仍然得到{}作为约会对象。
In trying to retrofit this solution, I hit another stumbling block. I'm trying to trigger setting the date and then calling another Msg to do something else. But I'm still getting {} for a date.
import Html.App as App import Html exposing (..) import Time exposing (Time) import Task import Date exposing (Date) import Html.Events exposing (onClick) import Html.Attributes exposing (..) type alias Model = {currentDate : Maybe Date} type Msg = SetDate (Maybe Date) | TriggerDateSet update : Msg -> Model -> (Model, Cmd Msg) update msg model = case msg of SetDate date -> ({model | currentDate = date}, Cmd.none) TriggerDateSet -> (model, now) view : Model -> Html Msg view model = div [] [ div [] [ button [onClick TriggerDateSet] [] ] , div [] [ text <| "(Optional) time at program launch was " ++ toString model ] ] now : Cmd Msg now = Task.perform (always (SetDate Nothing)) (Just >> SetDate) Date.now main : Program Never main = App.program { init = ( Model Nothing, now ) , view = view , subscriptions = always Sub.none , update = update }推荐答案
您将需要 now 任务或 订阅 rel = nofollow noreferrer>时间。
You'll want the now Task or the every Subscription from Time.
下面是一个使用前者以当前时间初始化模型的示例。
Here's an example using the former to initialise the model with the current time.
import Html.App as App import Html exposing (..) import Time exposing (Time) import Task type alias Model = Maybe Time type Msg = SetTime (Maybe Time) update : Msg -> Model -> (Model, Cmd Msg) update (SetTime time) _ = (time, Cmd.none) view : Model -> Html Msg view model = div [] [ text <| "(Optional) time at program launch was " ++ toString model ] now : Cmd Msg now = Task.perform (Just >> SetTime) Time.now main : Program Never main = App.program { init = ( Nothing, now ) , view = view , subscriptions = always Sub.none , update = update }更多推荐
如何获得榆木的当前日期?
发布评论