Skip to content

JackStouffer/date-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

String Python 2.7.11 LDC 1.13.0 DMD 2.084.0
Thu Sep 25 10:36:28 BRST 2003 156 µs 10 μs 15 μs
2003-09-25T10:49:41.5-03:00 136 µs 5 μs 6 μs
09.25.2003 124 µs 5 μs 7 μs
2003-09-25 66.4 µs 4 μs 5 μs