Мне нужно несколько Int
с, чтобы использовать их в качестве начального числа для генерации случайных чисел, и поэтому я хотел использовать старый прием использования системного времени в качестве начального числа.
Итак, я попытался использовать пакет Data.Time, и мне удалось сделать следующее:
import Data.Time.Clock
time = getCurrentTime >>= return . utctDayTime
Когда я бегу, я получаю такие вещи:
Prelude Data.Time.Clock> time
55712.00536s
Тип time
равен IO DiffTime
. Я ожидал увидеть тип IO Something
, так как это зависит от внешних элементов программы. Итак, у меня есть два вопроса:
a) Можно ли каким-то образом развернуть IO и получить базовое значение DiffTime?
б) Как преобразовать DiffTime в целое число со значением в секундах? Есть функция secondsToDiffTime
, но я не могу найти ее обратную.