Parsing a date string into a std.datetime.datetime
Colin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Oct 24 02:17:54 PDT 2014
On Thursday, 23 October 2014 at 21:17:23 UTC, Jonathan M Davis
wrote:
> On Thursday, 23 October 2014 at 11:13:26 UTC, Colin wrote:
>> Hi,
>>
>> I'm looking for an easy way to parse a dates into a datetime
>> object.
>>
>> Most of my dates will be of the form:
>> mmm dd, yyyy HH:MM AM|PM
>>
>> So like: "May 30, 2014 12:12 PM"
>>
>> I can easily write a regex or whatever to pull these out of
>> that one format, but it's not guaranteed they'll all be in the
>> one format and I may have to deal with others.
>>
>> Is there a helper function that I'm missing that can parse
>> these dates? Maybe something similar to pythons
>> dateutil.parser [1] ?
>>
>> If not maybe adding this function to std.datetime would be a
>> good project to undertake for myself...
>>
>> [1] - https://labix.org/python-dateutil
>
> std.datetime supports the ISO formats but, it does not
> currently support generating or parsing custom strings for
> dates or times. It's on my todo list (probably after splitting
> std.datetime into a package), but I don't know exactly when I'm
> going to get to it. The first step will be figuring out what
> the format strings will look like, since what languages like C
> do is a complete mess. I had a proposal on it that was
> discussed a while ago, but it was too complicated. It'll
> probably end up being something closer to this
> http://pr.stewartsplace.org.uk/d/sutil/datetime_format.html
> though I'm afraid that that approach as it's presented might
> not be flexible enough. I'll probably need to do something like
> add a templated function that returns a custom struct with the
> values that you want so that you can get them effeiently to
> build the string yourself in the cases where you need to do
> something wacky enough that the normal custom string formatting
> functions aren't flexible enough. Then leaving the normal
> custom string format generating and parsing functions simpler
> works better.
>
> In any case, I intend to get to it, but I've been dreadfully
> slow about it. It's the number one thing missing from
> std.datetime. I'd prefer to do it myself, but there's certainly
> no reason why someone else can't do it if they really want to.
>
> - Jonathan M Davis
Ok, thanks for the informative reply Jonathan.
For now I'll go with parsing the few types of dates I may need,
and maybe port over in the future when you get to it.
Cheers!
More information about the Digitalmars-d-learn
mailing list