Korzystając z biblioteki czasu (czas-1,5), mam stałą, np. 1 sekunda. Nie widzę sposobu, aby utworzyć NominalDiffTime, więc stworzyliśmy difftime:Jak przekonwertować DiffTime na NominalDiffTime?
twoSeconds = secondsToDiffTime 2
teraz chciałbym do interakcji z UTCTime:
now <- getCurrentTime
let twoSecondsAgo = addUTCTime (-twoSeconds) now
Co oczywiście nie wpisz check, ponieważ addUTCTime oczekuje wartości NominalDiffTime w argumencie 1, a ja przerzuciłem DiffTime. Jak przekonwertować między tymi dwoma typami? Lub w jaki sposób mogę utworzyć NominalDiffTime 2 sekundy?
'toRational' może potencjalnie być bardzo kosztowną operacją, ponieważ musi obliczyć' gcd' dla licznika i mianownika. Będzie to również działać: 'fromIntegral. diffTimeToPicoseconds :: DiffTime -> NominalDiffTime'. – Mikkel