Skip to content

Commit e4d0aa3

Browse files
committed
03thyme
1 parent 93cfc43 commit e4d0aa3

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

performanceparsing/parse.hs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ import Data.Bits
66
import Data.Text (Text)
77
import qualified Data.Text as T
88
import qualified Data.Text.IO as T
9-
import Data.Time
109
import System.Environment
1110
import qualified Data.Map.Strict as M
1211
import Control.Applicative
12+
import Data.AffineSpace ((.-^))
1313
import Data.Char (isSpace, digitToInt, isUpper)
1414
import Data.List (foldl')
15+
import Control.Lens
16+
import Data.Thyme
1517

1618
import Data.Attoparsec.Text
1719

@@ -64,13 +66,13 @@ timestamp = do
6466
h <- scientific <* char ':'
6567
mi <- scientific <* char ':'
6668
s <- scientific <* char '+'
67-
let day = fromGregorian y m d
68-
difftime = h * 3600 + mi * 60 + s
69-
tm = UTCTime day (realToFrac difftime)
69+
let day = YearMonthDay y m d ^. from gregorian
70+
difftime = fromSeconds $ (h * 3600 + mi * 60) + s
71+
tm = UTCTime day difftime ^. from utcTime
7072
tz <- takeWhile1 isUpper <* skipSpace
7173
return $ case tz of
72-
"CEST" -> addUTCTime (-7200) tm
73-
"CET" -> addUTCTime (-3600) tm
74+
"CEST" -> tm .-^ fromSeconds (7200 :: Int)
75+
"CET" -> tm .-^ fromSeconds (3600 :: Int)
7476
_ -> tm
7577

7678
filetype :: Parser FileType

0 commit comments

Comments
 (0)