8

私がこのコードを持っている場合:

let time = read "2013-02-03 17:00:07.687" :: UTCTime

から分と秒のコンポーネントを抽出するにはどうすればよいUTCTimeですか?

4

2 に答える 2

13

AUTCTimeには、1日と1日の2つのコンポーネントがありDiffTimeます。DiffTimeを使用してutctDayTime、またはパターンマッチングによって取得できます。そこから、TimeOfDayusingに変換できますtimeToTimeOfDay。次に、に対してパターンマッチするだけでTimeOfDay、時間、分、秒を取得できます。

だからあなたはこれを行うことができます:

let TimeOfDay hours minutes seconds = timeToTimeOfDay (utctDayTime time)

todMinおよび関数を使用して、todSecから分と秒をそれぞれ取得することもできますTimeOfDay

于 2013-03-25T04:16:59.547 に答える
2

time-lensパッケージを使用すると、時間と日付の操作がはるかに簡単になります。例えば

> let time = read "2013-02-03 17:00:07.687" :: UTCTime
> getL seconds time
7.687000000000

インポートする場合はData.Lens.Common、中置バージョンのgetL:もあります。

> time ^. minutes
0
于 2013-03-26T06:37:29.997 に答える