Parsing dates
For some reason I started maintaining PHP's strtotime() function, which parses a strings containing a date/time representation, such as "2004-04-18 17:59 CEST", "April 18, 2004" and the like. With so many different formats one guy in the past crafted a parser for this basing the syntax on GNU tar . The original function had some problems, or was missing some formats (such as the highly useful ISO 8601 formats) and during time this original parser was extended. it might have been a nice and simple bison parser, with a hand craften lexer, but I can assure you that it is now shitty, buggy and totaly unmaintainable. Nobody knows what formats it's supposed to parse either.
With those four problems in my head I decided to redo this shitty old and messy parser by using re2c to do the parsing. Their is a problem though as I don't know which format it's supposed to parse at all (except the GNU tar things and ISO 8601 stuff) so I'm asking you guys which formats it should be able to parse, and which formats you already parse with the strtotime() function.
Comments
This one's odd because the time comes before the year, but it's the locale standard.
$ date +"%c" Sun Apr 18 18:36:57 2004
- These are the only strtotime formats I already use:
-
strtotime ("+20 minutes") strtotime ("+3 month") strtotime ("Monday") strtotime ("2001-10-24 15:22:13")
I think it would be good to be able to parse the default timstamp and date formats for postgresql, mysql and probably oracle and mssql. I only use postgresql so I can only point you here:
http://www.postgresql.org/docs/7.4/static/datatype-datetime.html
Parsing anything that a database could spit out would be great...
culley
Like culley's suggestion regarding database date formats, consider also typical
webserver log date formats. For example, for Apache's logs: http://httpd.apache.org/docs/logs.html http://httpd.apache.org/docs-2.0/logs.html
Also, how about operating system timestamps: http://weblogs.asp.net/oldnewthing/archive/2003/09/05/54806.aspx
There may be some good clues in the GNU C Library: http://www.gnu.org/software/libc/manual/html_node/Calendar-Time.html#Calendar%20Time
Maybe some clues here in POSIX Locale: http://www.opengroup.org/onlinepubs/007908799/xbd/locale.html#tag_005_003_005
Here are some additional database date and time function format references: http://dev.mysql.com/doc/mysql/en/Date_and_time_functions.html http://otn.oracle.com/tech/blaf/specs/commonFormats.html http://www.sswug.org/searchresults.asp?keywordstofind2=date%20time
For me, the most useful things about strftime() are doing relative date math ("+2 days") ("1 sunday ago") that properly accounts for DST switches and stuff based on days of the week ("next Monday").
Life Line
I've finished reading This Way Up. It's about maps, that went wrong.
It's a good read, but htyerr were several chapters that were written in a novel way (as a video transcript, a series of letters), and I found distracting from the a tail content. It'll have worked better in a produced video.
No mention of @openstreetmap though :-(
Updated a bench
Created a tree; Updated 3 humps and a waste_basket
The Early Cormorant Catches the Eel
Sorry, not the best photo! But I caught this Cormorant catching this large eel when looking for Bank Swallows, right next to Eel Pie Island in the Thames.
#Birds #BirdPhotography #BirdsOfMastodon #Photography #London
Updated an estate_agent office
I went to my nieces' birthday party yesterday.
The theme was pink, and that included all the food, mostly died with beet root.
Shock and horror this morning when doing number two. Not only was my turd dark red, it was also glittering at me. Apparently the carrot cake had edible glitter...
So now I know what's worse than glitter.
😂 ✨ 💩 🟣Long-Tailed Tit on a Branch with Lichen
I've been spending some time in random London local nature reserves.
Sitting and listening, and in fifteen minutes you spot countless species.
This one was in Ham Lands Local Nature Reserve near Teddington.
#london #BirdPhotogaphy #BirdsOfMastodon #Birds #LichenSubscribe
A Colourful Mandarin
In The Long Water in Kensington Palace Gardens, London.
Created 7 benches
Created 2 benches
Created a bench
I walked 7.3km in 2h28m39s
Added a note about a duplicate Papersmiths
I walked 4.1km in 49m02s
Fixed website
fix typo
Updated a bench
I walked 1.6km in 20m26s
I walked 1.1km in 11m49s
The Yellow Eye
A blue heron's head, with its very yellow stare-y eye.
#BirdPhotography #Photography #BirdsOfFediverse #BirdsOfMastodon #London
My little Lego box is telling me it really is quite warm outside.
Created a bicycle_parking and a crossing
I walked 3.3km in 41m56s








Shortlink
This article has a short URL available: https://drck.me/parsing-dates-37r