Parsing Haskell将ByteString转换为UTC时间
我一直在尝试在Haskell中创建一个函数,以获取一个ByteString,它是一个日期时间,并将其转换为UTC时间,同时考虑原始编码中的时区。我对哈斯克尔很陌生,所以我可能犯了一个基本的错误Parsing Haskell将ByteString转换为UTC时间,parsing,haskell,time,bytestring,Parsing,Haskell,Time,Bytestring,我一直在尝试在Haskell中创建一个函数,以获取一个ByteString,它是一个日期时间,并将其转换为UTC时间,同时考虑原始编码中的时区。我对哈斯克尔很陌生,所以我可能犯了一个基本的错误 convertStringToUtc s = do estTimeZone <- hoursToTimeZone -5 time <- read $ B.unpack(s) localTimeToUTC estTimeZone time convertString
convertStringToUtc s =
do
estTimeZone <- hoursToTimeZone -5
time <- read $ B.unpack(s)
localTimeToUTC estTimeZone time
convertStringToUtc s=
做
estTimeZone首先,-5需要放在括号中,否则它被解析为试图从hoursToTimeZone
函数中减去5,这解释了类型错误
此外,这里的所有函数都是纯函数,因此它们不需要是一元函数do{…}
。如果要显式命名步骤,只需使用let
表达式
convertStringToUtc s =
let estTimeZone = hoursToTimeZone (-5)
time = read $ B.unpack s
in localTimeToUTC estTimeZone time
首先,-5需要放在括号中,否则它被解析为试图从hoursToTimeZone
函数中减去5,这解释了类型错误
此外,这里的所有函数都是纯函数,因此它们不需要是一元函数do{…}
。如果要显式命名步骤,只需使用let
表达式
convertStringToUtc s =
let estTimeZone = hoursToTimeZone (-5)
time = read $ B.unpack s
in localTimeToUTC estTimeZone time