DateTime parsing / support
Add support for DateTime parsing, add field to WebFile object, add latest date to Reddit stats
Help is needed for a library which can automagically parse a lot of date formats.
This is still a very hard problem. Have tried to find a good datetime string parsing thing, but haven't found anything.
Could you share a few examples of dates you need to parse? :)
All of the formats in open directories.
I would've thought there would be at least one library which could do that. But couldn't really find one, tried multiple times.
Of course it can be written by hand, but preferring a library 😅
Maybe we could start a list of formats we encounter here in this thread? :)
So we can use the list to test different libraries or our custom code?
I'll start (you should be able to edit my comment to add new formats):
-
2019-12-08 01:19 -
2020-08-06 14:43:00 -
2020-08-6 14:43:00 -
26-Apr-2020 17:31 -
2019-Mar-17 03:43:25 -
2 months ago(with tooltip2020-08-6 14:43:00) -
March 28 2013 at 11:21
Went through the last month and top posts on /r/OpenDirectories...
Wow. Well done. Looks like these are all parseble quite good. The problem starts with the American dates 😅
Looks like I prefer Japanese dates 👍👍👍 Works very good on file systems.

Maybe later I'll create an option like the current --exact-file-size thing. Which also takes the date from the response, and probably also the ETag, and both can go into #20 😇
That sounds good! I'll keep looking for obscure date formats, but I believe these cover >90% of all submissions...
About parsing, I don't know about C#/.NET, but running all of the above dates throw JavaScript's new Date() works for all except for 2 months ago and March 28 2013 at 11:21 (although simply removing the at did the trick). American dates (using / as separator) were recognized correctly as well.
So if a plain built-in parser can handle this, it shouldn't be a huge problem :)
It's called japanese logic? Never knew that! I know it's the superior data format for everything and I try to use it wherever I can, but good to know there are actually people using this in day-to-day life :D
https://docs.microsoft.com/en-us/dotnet/api/system.datetime.tryparse?view=net-5.0#System_DateTime_TryParse_System_String_System_DateTime__
Seems like .NET should be able to parse most of these formats.
We should use a static "culture" format tough, so the app behaves consistently...
You are right. The CultureInfo (language) could maybe even provided/read by the website headers which makes it even better.
See fiddle for example of the parsing.
https://dotnetfiddle.net/HmZvn9
Looks good 👍
I also like the idea of using the website meta data for choosing the "culture". Not sure if all servers provide info about the locale though...
https://code-maze.com/csharp-convert-string-to-datetime/