У меня есть несколько временных меток (с дополнительным текстом вокруг них), которые я анализирую.Я понимаю, что может анализировать строки времени, как правило, с помощью Data.Time.
Однако после преобразования даты и времени из текста в строку с распаковкой я не понимаю, как анализировать этоошибка:
{-# LANGUAGE DeriveGeneric, OverloadedStrings #-}
import Data.Time.Parse
import Data.Text as T
myDate = "D2017/01/01"
:t parseTimeOrError
ptime :: Text -> UTCTime
ptime dt = parseTimeOrError True defaultTimeLocale "D%Y/%d/%M" (T.unpack dt) :: UTCTime
-- here the T.unpack is because the :t tells us parseTimeOrError takes a string
-- not a Text.
myUTC <- ptime myDate
print myUTC
Я получаю
parseTimeOrError :: forall t. ParseTime t => Bool -> TimeLocale -> String -> String -> t
<interactive>:1:10: error:
• Couldn't match expected type ‘IO a0’ with actual type ‘UTCTime’
• In the first argument of ‘GHC.GHCi.ghciStepIO :: forall a. IO a -> IO a’, namely ‘(ptime myDate)’
In a stmt of an interactive GHCi command: myUTC <- GHC.GHCi.ghciStepIO :: forall a. IO a -> IO a (ptime myDate)
Что я делаю не так?