Unter Verwendung der Zeitbibliothek (Zeit-1,5) habe ich eine Konstante, z. 1 Sekunde. Ich sehe keinen Weg, um eine NominalDiffTime zu schaffen, so habe ich eine DiffTime erstellt:Wie konvertiere ich DiffTime zu NominalDiffTime?
twoSeconds = secondsToDiffTime 2
Jetzt würde Ich mag mit einem UTCTime zu interagieren:
now <- getCurrentTime
let twoSecondsAgo = addUTCTime (-twoSeconds) now
Was natürlich nicht Typprüfung, weil addUTCTime eine NominalDiffTime in Argument 1 erwartet und ich eine DiffTime übergeben habe. Wie konvertiere ich zwischen den beiden Typen? Oder wie kann ich eine NominalDiffTime von 2 Sekunden erstellen?
'toRational' kann möglicherweise eine sehr teure Operation sein, weil es' gcd' für Zähler und Nenner berechnen muss. Das wird auch funktionieren: 'fromIntegral. diffTimeToPicoseconds :: DiffTime -> NominalDiffTime'. – Mikkel