> I think it's important to be careful on the scope. The ISO8601 spec is vast (I am implementing a new lib that implements the whole thing and its a huge task).
This is a good point. I'm carefully pulling this particular thread, trying not to unweave the whole tapestry, because it does seem inline with what the stdlib tries to accommodate today: - We do not handle century dates, decade dates, etc - We do not handle implicit or "relative" dates - We do not handle week references Generally, we only handle explicit year/month/day references to precise calendar dates in string parsing. Ordinal dates are an edge case here: they can be trivially converted to such with the current calendar protocol. My cursory reading of the ISO8601 spec suggests that this is possibly the only "advanced" date descriptor that is trivial to implement against the calendar protocol today, but I'd appreciate your insight into that! I could have easily overlooked some features; and by implementing ordinal dates, I may be opening a can of worms definitely better left to a library. On Wednesday, February 3, 2021 at 5:45:22 PM UTC-8 Kip wrote: > I think its important to be careful on the scope. The ISO8601 spec is > vast (I am implementing a new lib that implements the whole thing and its a > huge task) . > > > "I think we should probably consider this a bug, and fix functions which > parse ISO-8601 dates so that they support what's allowed in the ISO-8601 > spec". This is not a realistic goal for Elixir core I think. > > Ordinal dates, explicit and implicit forms of dates, century dates, decade > dates, ..... thats a lot of surface area for maintenance that in the spirit > of Elixir probably lies better in an external library if required. > > > On Thursday, February 4, 2021 at 9:30:32 AM UTC+8 [email protected] > wrote: > >> WIP PR available here: https://github.com/elixir-lang/elixir/pull/10687 >> >> I've proved the concept, but want to step back and solicit feedback, get >> some discussion going on explicit points I call out in the PR, and think of >> ways to clean the implementation up a little. >> >> On Wednesday, February 3, 2021 at 2:53:23 PM UTC-8 [email protected] wrote: >> >>> +1 >>> >>> On Wed, Feb 3, 2021 at 2:54 PM Christopher Keele <[email protected]> >>> wrote: >>> >>>> As observed by @ryanbigg <https://twitter.com/ryanbigg> on Twitter >>>> <https://twitter.com/ryanbigg/status/1356847900035190786>, *"2021-034"* >>>> is a valid ISO 8601 date. >>>> >>>> Specifically, it is an ordinal date >>>> <https://en.wikipedia.org/wiki/Ordinal_date> descriptor of the format >>>> YYYY-DDD. Unlike some of the more exotic ISO 8601 formats, like naming a >>>> week of the year or a day+month without a year; it does fully describe a >>>> single date in time. >>>> >>>> As Ryan observes, Ruby supports parsing ordinal date strings but Elixir >>>> does not. Is this something we'd want to add? Honestly the correct >>>> behaviour here is almost more surprising to me than our lack of support >>>> for >>>> it, but I wanted to field a discussion about it. >>>> >>>> -- >>>> >>> You received this message because you are subscribed to the Google >>>> Groups "elixir-lang-core" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elixir-lang-core/51e44339-31aa-4ec6-93c8-3ca0f7901926n%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/elixir-lang-core/51e44339-31aa-4ec6-93c8-3ca0f7901926n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> >>> >>> -- >>> >>> Regards, >>> Bruce Tate >>> CEO >>> >>> >>> <https://bowtie.mailbutler.io/tracking/hit/f8218219-d2a8-4de4-9fef-1cdde6e723f6/c7c97460-016e-45fb-a4ab-0a70318c7b97> >>> >>> Groxio, LLC. >>> 512.799.9366 <(512)%20799-9366> >>> [email protected] >>> grox.io >>> >> -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/84f61e39-f261-43dd-9dd2-48cf9bcb4937n%40googlegroups.com.
