[Haskell-cafe] Converting CTime -> Int

John Meacham john at repetae.net
Wed May 16 16:32:08 EDT 2007


On Wed, May 16, 2007 at 12:38:55AM -0400, Brandon S. Allbery KF8NH wrote:
> 
> On May 16, 2007, at 0:35 , Rob Hoelz wrote:
> 
> >wrapping returns time_t.  I see that this maps to CTime in
> >Foreign.C.Types, but I can't figure out how to convert it to an Int  
> >(or
> >any other useful Haskell type, for that matter) for the life of me.
> >I've poured over the standard library docs, but to no avail.  Could
> >someone give me a hint?
> 
> It's an instance of Enum, so use fromEnum to create an Int.  (Don't  
> feel too bad, it took me an embarrasingly long amount of time to  
> figure that out as well; before that I used read . show :)


'fromInteger . round' 

is probably a better idea if you only need second accuracy, there is no
guarentee that a time_t will fit in an Int, if you need subsecond
accurancy, then realToFrac will convert it to a Float or Double, but I
doubt any system that ghc supports provides such accuracy via CTime.

        John

-- 
John Meacham - ⑆repetae.net⑆john⑈


More information about the Haskell-Cafe mailing list