fuzzy-dates: Libary for parsing dates in strings in varied formats.

[ bsd3, library, parsing ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/ReedOei/fuzzy-dates#readme

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), hourglass, hspec, lens, parsec [details]
License BSD-3-Clause
Copyright 2018 Reed Oei
Author Reed Oei
Maintainer oei.reed@gmail.com
Category Parsing
Home page https://github.com/ReedOei/fuzzy-dates#readme
Bug tracker https://github.com/ReedOei/fuzzy-dates/issues
Source repo head: git clone https://github.com/ReedOei/fuzzy-dates
Uploaded by ReedOei at 2020-03-07T01:35:08Z
Distributions LTSHaskell:, NixOS:, Stackage:
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 3989 total (22 in the last 30 days)
Rating 1.75 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-03-07 [all 1 reports]

Readme for fuzzy-dates-

[back to package description]


Build Status

fuzzy-dates is a Haskell library for parsing dates when you don't know/care to specify the format of the dates beforehand. It returns dates and times in the hourglass format.

It is heavily based off of https://gitlab.com/doshitan/hourglass-fuzzy-parsing, which had not been updated for over 2 years at the time of writing, so I created this library. I've added numerous new date formats as well as several functions (shown below) which facilitate easy extraction of dates from text.


Import the main module, then call one of the extract dates functions, like so:

>>> import Data.Dates.Parsing
>>> extractDatesY 2018 "The party will be on 6/9"
[Date 2018 June 9]
>>> import Data.Dates.Parsing
>>> extractDateTimes "This morning, 06.07.16 at 7:35 AM, the fire was stopped." :: IO [DateTime]
[DateTime {dtDate = Date {dateYear = 2016, dateMonth = July, dateDay = 6}, dtTime = TimeOfDay {todHour = 7h, todMin = 35m, todSec = 0s, todNSec = 0ns}}]