dateparser ~betterC

Library for parsing randomly formatted date strings


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

Date Parser

Build Status Dub codecov

A port of the Python Dateutil date parser. This module offers a generic date/time string parser which is able to parse most known formats to represent a date and/or time. This module attempts to be forgiving with regards to unlikely input formats, returning a SysTime object even for dates which are ambiguous.

Tested with ldc v1.12.0 - v1.13.0 and dmd v2.081.2 - v2.084.0. May work with earlier versions.

Simple Example

View the docs for more.

import std.datetime;
import dateparser;

void main()
{
    assert(parse("2003-09-25") == SysTime(DateTime(2003, 9, 25)));
    assert(parse("09/25/2003") == SysTime(DateTime(2003, 9, 25)));
    assert(parse("Sep 2003")   == SysTime(DateTime(2003, 9, 1)));
}

Docs

http://jackstouffer.com/dateparser/

Install With Dub

{
    ...
    "dependencies": {
        "dateparser": "~>3.0.0"
    }
}

Speed

Based on master, measured on a 2015 Macbook Pro 2.8GHz Intel i7. Python times measured with ipython's %timeit function. D times measured with bench.sh.

StringPython 2.7.11LDC 1.13.0DMD 2.084.0
Thu Sep 25 10:36:28 BRST 2003156 µs10 μs15 μs
2003-09-25T10:49:41.5-03:00136 µs5 μs6 μs
09.25.2003124 µs5 μs7 μs
2003-09-2566.4 µs4 μs5 μs
Authors:
  • Jack Stouffer
Dependencies:
emsi_containers
Versions:
3.0.4 2021-Aug-04
3.0.3 2020-Oct-02
3.0.2 2020-Aug-31
3.0.1 2019-Jan-28
3.0.0 2016-Oct-10
Show all 25 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 2 downloads this month

  • 140876 downloads total

Score:
1.8
Short URL:
dateparser.dub.pm