- Investigate the speed gains from not using the Julian value to identify a date but a simple int year10000 + month100 + day. Should make creation of Dates faster which is useful when parsing json for example.
- Add toIso8601String() for Date. Not really needed, but I always seem to forget what format toString() uses.
- Add method dayCount() for Term.
- Add convenience method toInt() to Date and Month to return 20240415 and 202404 for example. Occasionally useful for storing dates or months in a db.
- Overwrite the withTimeZone() method for Date and Month.
- Fix bug with Hour.containing at Fall DST.
- Added a (faster) method to calculate the number of hours in a day: hoursInDay
- Replace all == argument to Object from dynamic
- Bumped petitparser to 6.0.0
- Add Term.generate a convenience method to create multiple terms at once
- Remove an unnecessary cast from Date hours() method
- Add static methods Date.fromInt and Month.fromInt
- Document that Month.parse and Term.parse throw on incorrect input.
- Rename Month.contains to Month.containing to be aligned with Hour.containing.
- Rename Date.fromTZDateTime to Date.containing.
- Add Month.contains(tzDateTime). Always seem to be what I want to have. Deprecate Month.fromTZDateTime
- Add number of days in month method to Month object
- Minor cleanup of tests
- Bump sdk lower limit to 3.0.2
- Bump up various packages
- Bump sdk upper limit to 4.0.0
- Add the list of month abbreviations ['Jan', 'Feb', ...] as a static constant in Month
- Add a
copyWith()
extension to TZDateTime to easily create other TZDateTime
- prettyTerm() now recognizes calendar years, e.g. 'Cal 23' and quarters, e.g. 'Q3 22'.
- added methods isQuarter() and isYear() on interval.
- bump timezone to 0.8.0
- Add a speed parser Date.fromIsoString static method. Twice as fast as usual parsing.
- Increased petitparser to 5.0.0.
- Fix a bug parsing 'Jan23-Dec22'. It returned the instant 2023-01-01 00:00:00 instead of an error.
- Added package lints, apply dart fix
- Fix bug in term.withStartYear when term ends on 1-Mar
- Bump up petitparser, and resolve deprecations
- Support more strings to term parser
- Introduce Date.utc, Month.utc, Quarter.utc constructors for convenience
- Moved the package to null safety
- Breaking change in Date, Month, Quarter have now the timezone location argument required non-null. Could not retain the existing behavior.
- Prepare for null safety. This is the last release before null safety.
- No new features, just internal refactoring
- Add a Quarter class
- Add a Term class
- Mark TimeIterable as deprecated. After using the package for a while, this class is not really needed.
- Add compareTo method for the Interval class.
- Make the package Dart 2 compliant.
- Last version for Dart 1.
- Make Date, Month, and Hour constructors get a time zone location argument.
- Improve the formatting of Date and Month (include an ISO format).
- Make a Term and Month parser (see term_parse.dart and month_parse.dart). These are convenient functions for parsing common intervals, or months.
- Added an Interval class.
- Added a TimeIterable class.
- Added a Month class.
- Initial version