Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing Haskell将ByteString转换为UTC时间_Parsing_Haskell_Time_Bytestring - Fatal编程技术网

Parsing 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

我一直在尝试在Haskell中创建一个函数,以获取一个ByteString,它是一个日期时间,并将其转换为UTC时间,同时考虑原始编码中的时区。我对哈斯克尔很陌生,所以我可能犯了一个基本的错误

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