Unix Time On Haskell - 16 Jul 2010

Some languages make it dead simple to get a timestamp or UNIX time as a single integer:

The time() function exists on many languages, others present a Date object and even on
the shell is really easy to get it date +%s.

Is not that hard in Haskell either, it’s just … different.

First, we need to remember that getting the current time is an IO operation, therefore we’ll be
working on the IO Monad.

From the time package we can get a POSIXTime and then use floor to get an Integral:

import Data.Time.Clock.POSIX

main :: IO ()
main = print . floor =<< getPOSIXTime

Which will print a nice integer as would perl -e 'print time' (not as short but
it get’s the job done)


More Posts...