私がこのコードを持っている場合:
let time = read "2013-02-03 17:00:07.687" :: UTCTime
から分と秒のコンポーネントを抽出するにはどうすればよいUTCTimeですか?
私がこのコードを持っている場合:
let time = read "2013-02-03 17:00:07.687" :: UTCTime
から分と秒のコンポーネントを抽出するにはどうすればよいUTCTimeですか?
AUTCTimeには、1日と1日の2つのコンポーネントがありDiffTimeます。DiffTimeを使用してutctDayTime、またはパターンマッチングによって取得できます。そこから、TimeOfDayusingに変換できますtimeToTimeOfDay。次に、に対してパターンマッチするだけでTimeOfDay、時間、分、秒を取得できます。
だからあなたはこれを行うことができます:
let TimeOfDay hours minutes seconds = timeToTimeOfDay (utctDayTime time)
todMinおよび関数を使用して、todSecから分と秒をそれぞれ取得することもできますTimeOfDay。
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