User:Ric Sherlock/Extend Dates Project
Description
There have been a number of posts and requests on the forum over the years about improving/extending various features of the system script dates.ijs.
This project is an attempt to try and harness the "power" of the J community (ideas, experience, existing code, skills) to put together something that will be of general use to all of us, whether as part of the current dates.ijs script, or as a new addon for JAL.
Desired additional functionality
- extend existing verbs to handle times as well as dates
- more flexible formatting of string representations
- national locale formatting (en-US, en-GB, fr-FR, etc.)
- standards formatting (ISO, RFC, etc.)
- custom format strings <<FootNote(Custom Date and Time Format in .NET or SimpleDateFormat in Java)>>
- time-zone conversion (requires DST)
- DST (daylight savings time) operations
- ... (please add new or expand existing as desired)
Where to Start
Extending/editing/prioritizing the above list is a good place to start, but then there are lots of things to think about and decisions to be made. Maybe gathering existing code would be useful to get an idea of the different sorts of approaches we could take?
Existing Code
It might be "easiest" to post various scripts to Wiki pages to help with initial discussion.
Links to existing code:
- User:Ric Sherlock/Extend Dates Project/DatesAdd Script
- Date formatting code posted to the forum by Dan Bron.
- User:Devon McCormick/dateTime.ijs
- Easter Sunday posted to the forum by RE Boss
types/datetime Addon under development
I've set up the project in the JAL SVN code repository as the types/datetime addon. It is probably easier to browse using github. I've further developed and extended the code from the DatesAdd script to include more of the date/time arithmetic that was discussed in the forum thread. There is still a lot of functionality requested above that can be added. In particular it would be good to add facilities for reading string representations of dates/times and converting them to numeric.
There are a lot of existing models for specifying date/time formats (linked below), I've gone with an (extended) version of the ISO formats, if there are any good reasons for choosing another one instead, I'd be interested.
Discussion
Please feel free to add to the project discussion page or use the J forum as you prefer.
- Initial forum thread discussing this project
Resources
- The existing dates.ijs script from the system.
- Recent suggestion for extending getdate and dates.ijs
- Discussion on formatting extension for 6!:0
- Some ugly J code (one of my first "Learning J" projects) for working with Julian Day number.
Footnotes
<<FootNote>>