所以我有两种联合类型:JobStatus和TaskStatus.
module Data.Job exposing (..)
type JobStatus
= Submitted
| Started
| Finished
Run Code Online (Sandbox Code Playgroud)
-
module Data.Task exposing (..)
type TaskStatus
= Created
| Running
| Finished
Run Code Online (Sandbox Code Playgroud)
然后我将它们导入第三个模块
module Home exposing (..)
import Data.Job as Job exposing (JobStatus(..))
import Data.Task as Task exposing (TaskStatus(..))
type alias Model =
{ jobStatus : JobStatus
, taskStatus : TaskStatus
}
model : Model
model =
{ jobStatus = Finished
, taskStatus = Finished
}
Run Code Online (Sandbox Code Playgroud)
但是Finished太混乱了,我想把它写成JobStatus.Finished或者TaskStatus.Finished …
因此,我正在尝试学习Haskell,因此很抱歉是否已经提出了此要求,但是我找不到能够正确回答我的疑问的问题。
因此,我的问题是得到以下UTCTime内容的最简单直接的方法是什么:
另外,如果有UTCTime使用正则Asia/Tokyo字符串或相似字符串转换为本地时间的简便方法。
我找不到一个提供所有这些功能并感到困惑的库,很老实地说,我需要在不同类型之间进行转换并使用多个库来实现上述目标,这很激怒。也许我看起来不正确。
到目前为止,我的努力:
import Data.Time
-- Difference between JST and UTC in seconds
-- JST is 9 hours ahead of UTC
utcJSTDiff :: Int
utcJSTDiff = 32400
getHour :: UTCTime -> Int
getHour time = todHour (timeToTimeOfDay (utctDayTime time))
getMinutes :: UTCTime -> Int
getMinutes time = todMin (timeToTimeOfDay (utctDayTime time))
isReminderHour :: Int -> Bool
isReminderHour hour
| hour == morningReminderHour || hour …Run Code Online (Sandbox Code Playgroud)