Wie kann ich bestimmte Zeitkomponenten aus einer UTCTime extrahieren?

8
___ tag123haskell ___ Haskell ist eine funktionale Programmiersprache mit starker statischer Typisierung, verzögerungsfreier Auswertung, umfangreicher Parallelitäts- und Parallelitätsunterstützung und einzigartigen Abstraktionsfunktionen. ___ qstnhdr ___ Wie kann ich bestimmte Zeitkomponenten aus einer UTCTime extrahieren? ___ answer15630840 ___

Sie können das Paket time-lens verwenden, das die Manipulation von Zeit und Datum erheblich erleichtert. ZB

%Vor%

Wenn Sie let time = read "2013-02-03 17:00:07.687" :: UTCTime importieren, gibt es auch eine Infix-Version von UTCTime :

%Vor%     
___ answer15607536 ___

A %code% hat zwei Komponenten: ein Tag und ein %code% . Sie können die %code% mit %code% oder durch Mustererkennung erhalten. Von dort können Sie es in eine %code% mit %code% . Sie können dann nur eine Musterübereinstimmung mit dem %code% herstellen, um die Stunden, Minuten und Sekunden zu erhalten.

So könnten Sie das tun:

%Vor%

Sie können auch die Funktionen %code% und %code% verwenden, um die Minuten bzw. Sekunden von %code% abzurufen.

    
___
ryeguy 25.03.2013, 03:58
quelle

2 Antworten

11

A UTCTime hat zwei Komponenten: ein Tag und ein DiffTime . Sie können die DiffTime mit utctDayTime oder durch Mustererkennung erhalten. Von dort können Sie es in eine TimeOfDay mit timeToTimeOfDay . Sie können dann nur eine Musterübereinstimmung mit dem TimeOfDay herstellen, um die Stunden, Minuten und Sekunden zu erhalten.

So könnten Sie das tun:

%Vor%

Sie können auch die Funktionen todMin und todSec verwenden, um die Minuten bzw. Sekunden von TimeOfDay abzurufen.

    
Tikhon Jelvis 25.03.2013, 04:16
quelle
2

Sie können das Paket time-lens verwenden, das die Manipulation von Zeit und Datum erheblich erleichtert. ZB

%Vor%

Wenn Sie Data.Lens.Common importieren, gibt es auch eine Infix-Version von getL :

%Vor%     
Roman Cheplyaka 26.03.2013 06:37
quelle

Tags und Links