beakerchu: > Hurrah, I am now calling the C function tzset() from my Haskell code > via FFI, and I'm getting the results I want. > > $ cat hsc2now.hs > {-# LANGUAGE ForeignFunctionInterface #-} > import Data.Time > import Data.Time.LocalTime > import System.Environment > import System.Posix.Env > foreign import ccall "time.h tzset" tzset :: IO () > outTime utc tzName > = do putEnv ("TZ=" ++ tzName) > tzset > tz <- getTimeZone utc > putStrLn (tzName ++ "\t" ++ show (utcToLocalTime tz utc)) > main > = do utc <- getCurrentTime > mapM_ (outTime utc) =<< getArgs > $ ghc --make hsc2now.hs -o hsc2now > [1 of 1] Compiling Main ( hsc2now.hs, hsc2now.o ) > Linking hsc2now ... > $ ./hsc2now Europe/Moscow Europe/Paris Europe/London > Europe/Moscow 2008-02-17 22:06:44.770153 > Europe/Paris 2008-02-17 20:06:44.770153 > Europe/London 2008-02-17 19:06:44.770153 > > Thank you everyone for your help :-)
Perhaps we should get a binding to tzset in the unix library? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe