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]
Versions [faq] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.1.0, 0.1.1.1, 0.1.1.2
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:0.1.1.1, NixOS:0.1.1.2, Stackage:0.1.1.1
Downloads 2479 total (13 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2020-03-07 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for fuzzy-dates-0.1.1.2

[back to package description]

fuzzy-dates

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.

Quickstart

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}}]