{"html_url": "https://github.com/simonw/datasette/issues/1032#issuecomment-712363344", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1032", "id": 712363344, "node_id": "MDEyOklzc3VlQ29tbWVudDcxMjM2MzM0NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-19T18:31:46Z", "updated_at": "2020-10-19T18:31:46Z", "author_association": "OWNER", "body": "As always with dates, the challenge is America. `mm/dd/yy` is indistinguishable from the more sensible `dd/mm/yy`. It's crucially important to visibly tell people which format you assumed, otherwise all kinds of weird invisible bugs can manifest.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 724878151, "label": "Bring date parsing into Datasette core"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1032#issuecomment-712363825", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1032", "id": 712363825, "node_id": "MDEyOklzc3VlQ29tbWVudDcxMjM2MzgyNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-19T18:32:43Z", "updated_at": "2020-10-19T18:32:43Z", "author_association": "OWNER", "body": "Horrible thought: I bet there is data out there that uses more than one date format in the same table! So this needs to be exposed as a visible per-column setting.\r\n\r\nColumn action menu can help here, although it's not yet the full solution because it isn't yet visible on mobile.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 724878151, "label": "Bring date parsing into Datasette core"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1032#issuecomment-712364317", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1032", "id": 712364317, "node_id": "MDEyOklzc3VlQ29tbWVudDcxMjM2NDMxNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-19T18:33:42Z", "updated_at": "2020-10-19T18:33:42Z", "author_association": "OWNER", "body": "Related challenge: timezones. I think I'll punt on those for the moment and just concentrate on dates, but I should keep them in mind.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 724878151, "label": "Bring date parsing into Datasette core"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1032#issuecomment-712364532", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1032", "id": 712364532, "node_id": "MDEyOklzc3VlQ29tbWVudDcxMjM2NDUzMg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-19T18:34:10Z", "updated_at": "2020-10-19T18:34:10Z", "author_association": "OWNER", "body": "Lots of great example date data in https://biglocal.datasettes.com/COVID_WARN_Notices", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 724878151, "label": "Bring date parsing into Datasette core"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1032#issuecomment-712365236", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1032", "id": 712365236, "node_id": "MDEyOklzc3VlQ29tbWVudDcxMjM2NTIzNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-19T18:35:25Z", "updated_at": "2020-10-19T18:35:25Z", "author_association": "OWNER", "body": "Since I'm dealing with tables of data I usually have a whole column of examples, so heuristics that check for numbers-greater-than-12 could actually work well for many cases.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 724878151, "label": "Bring date parsing into Datasette core"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1032#issuecomment-712365439", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1032", "id": 712365439, "node_id": "MDEyOklzc3VlQ29tbWVudDcxMjM2NTQzOQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-19T18:35:50Z", "updated_at": "2020-10-19T18:37:57Z", "author_association": "OWNER", "body": "Maybe I don't need to add `dateutil` as a dependency here?\r\n\r\n`pendulum` and `arrow` both depend on it so it's pretty deeply embedded in the Python date ecosystem. Adding it as a dependency seems reasonable.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 724878151, "label": "Bring date parsing into Datasette core"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1032#issuecomment-712367285", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1032", "id": 712367285, "node_id": "MDEyOklzc3VlQ29tbWVudDcxMjM2NzI4NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-19T18:39:32Z", "updated_at": "2020-10-19T18:39:32Z", "author_association": "OWNER", "body": "https://github.com/digital-land/brownfield-land-collection/blob/a09ddf9960a6af59e72dc02448f7b645e59bf227/bin/harmonise.py#L217-L247 is a beautiful example of this problem.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 724878151, "label": "Bring date parsing into Datasette core"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1032#issuecomment-712397537", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1032", "id": 712397537, "node_id": "MDEyOklzc3VlQ29tbWVudDcxMjM5NzUzNw==", "user": {"value": 236498, "label": "saulpw"}, "created_at": "2020-10-19T19:37:55Z", "updated_at": "2020-10-19T19:37:55Z", "author_association": "NONE", "body": "python-dateutil is awesome, but it can only guess at one date at a time. So if you have a column of dates that are (presumably) in the same format, it can't use the full set of dates to deduce the format. Also, once it has parsed a date, you can't get the format it used, whether to parse or render other dates. These limitations prevent it from being a silver bullet for date parsing, though they're not enough for me to stop using it!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 724878151, "label": "Bring date parsing into Datasette core"}, "performed_via_github_app": null}