Parse date strings of any format in dlang
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
source/dateparser
.gitignore
.gitmodules
.travis.yml
LICENSE.md
README.md
bench.d
bench.sh
dub.json

README.md

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.5.0 - v1.6.0 and dmd v2.074.1 - v2.077.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": "~>2.1.1"
    }
}

Speed

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

String Python 2.7.11 LDC 1.6.0 DMD 2.077.0
Thu Sep 25 10:36:28 BRST 2003 156 µs 13 μs 17 μs
2003-09-25T10:49:41.5-03:00 136 µs 5 μs 8 μs
09.25.2003 124 µs 5 μs 8 μs
2003-09-25 66.4 µs 4 μs 5 μs