Code Monkey home page Code Monkey logo

Comments (4)

valentine195 avatar valentine195 commented on June 23, 2024 1

@OhMyDeera Unfortunately I have spent quite a bit of time trying to fix this issue but its almost impossible to make this generic.

I am going to update the setting in the creator to reflect that this is for the Display Date format, and require dashes when parsing.

from calendarium.

valentine195 avatar valentine195 commented on June 23, 2024

I did play with this updating this to allow spaces:

let datebits = datestring.split(/(?!^)[-–—](?![^[]*])/);

but unfortunately that ignores other delimiters that could be used in a date format. Realistically I need to actually parse these bits against the format that was specified.

from calendarium.

OhMyDeera avatar OhMyDeera commented on June 23, 2024

Yeah that's a good point. I only did a quick scan through the code, but can take a more in depth look and try to come up with an actual solution once I've got some time if you'd like.
One idea could be using RegExp and using the date format supplied in the config to build a dynamic regex to get the day, month and year regardless of what seperators they are using. Though doing so whilst also making sure the recurring dates still parse as expected may prove to be fiddly.

from calendarium.

ebullient avatar ebullient commented on June 23, 2024

Yeah that's a good point. I only did a quick scan through the code, but can take a more in depth look and try to come up with an actual solution once I've got some time if you'd like. One idea could be using RegExp and using the date format supplied in the config to build a dynamic regex to get the day, month and year regardless of what seperators they are using. Though doing so whilst also making sure the recurring dates still parse as expected may prove to be fiddly.

I think what would help most is any suggestion of additional tests for formats. ;) we have some, but obviously forgot this one. That way we fix this w/o breaking others.

A split based on (any non-word/non-digit character) could also do it. The other option is not to use split at all, but use regex find. We need the first three, and then the starting position of content after that as the ordinal.

from calendarium.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.