time_machine2 0.12.1
time_machine2: ^0.12.1 copied to clipboard
Date and time library for Flutter, Web, and Server with support for timezones, calendars, cultures, formatting and parsing.
Changelog #
0.12.1 #
- Fixed integer overflow on Flutter Web that prevented initialization of the library
0.12.0+1 #
- Improve documentation to better reflect changes between 0.11.0 and 0.12.0, no functional changes
0.12.0 #
- Breaking: change TZDB asset naming again
- Replace
timezone-based TZDB compiler with native, NodaTime based port - Support for tail zones past the year 2038
- Remove
commonand10yTZDB format variants - Update TZDB to 2025b
0.11.0 #
- Breaking: change TZDB asset naming
- Improve asset size by switching to XZ compression
0.10.2 #
- Add missing day name to
en-GBculture - Fix asset loading for Flutter Web in release mode
- Add migration notes to README
0.10.1 #
- Fixed broken asset loading when Flutter code was executed in unit tests
- Make attribution to original author more visible
0.10.0 #
- First release of fork as
time_machine2 - Replace tzdb code so that the package now has a working tzdb compiler
- Upgrade tzdb to 2024b
- Fix asset loading for Flutter Web
- Compress tzdb and culture data for faster loading
0.9.18 #
- Update TZDB to 2022a
0.9.17 #
- Support for Flutter on Windows, Linux and MacOS
0.9.16 #
- Update TZDB to 2020d.
- Fixed loading issues with web, flutter web, and flutter.
0.9.15 #
- 🐛 fix related to #39
0.9.14 #
- Updated TZDB to 2020b.
- Merged PR's #35, #36, #37, and #39.
0.9.13 #
- Updated TZDB to 2020a.
0.9.12 #
- Made some changes because of Pana.
0.9.11 #
- Added Interval.overlaps;
- Made some changes because of Pana.
0.9.10 #
- Fixes for ddc.
- Updated TZDB to 2019b.
0.9.9 #
- Fix for issue #15. Updated TZDB to 2018i.
0.9.8 #
- Fix for issue #13. May investigate better solution in the future.
0.9.7 #
- Updated TZDB to 2018g.
0.9.6 #
- Merged #1 - Fix for when cultureId is null
0.9.5 #
- Many API changes.
- LocalTime is now backed by a Nanosecond based Time Instance.
- Additional tests added.
- Performance improvements.
0.9.4 #
- Many API changes.
- Fix for Dart 2.0.
0.9.1 #
- Continued the API normalization work; removed add*, minus* where it did not
add any performance gains.
Timeplus\minus-->add\subtract, added anabsmethod. LocalDateTime\LocalDate\LocalTimeaddedperiodUntil\periodSince, removeddifference, made static methoddifferencefromdifferenceBetween- same with
OffsetDateTimeexcepttimevsperiod
- same with
0.9.0 #
- Added a
LocalDate.today(),LocalDateTime.now(),LocalTime.timeOfToday()constructors. - Refined
Local*api's to be more likedart:core.DateTime- Did the same with
Instant,ZonedDateTime,OffsetDateTime,Offset,Period
- Did the same with
0.8.5 #
- Constructor is now
LocalDateTime.localDateAtTime(LocalDate, LocalTime) - Formatted much API Documentation.
- Removed operator based dynamic dispatch from all
operator -methods. Many times it makes sense to for example, subtract to do this,end_date - start_date = delta_timeand to do this,end_date - delta_time = start_datebut only makes sense for addition to do this,start_date + delta_time = end_date, you'd never do this,start_date + end_date = delta_time(doesn't really make sense) -- so, theoperator -methods have been defaulted to do the same operation as theoperator +methods. If Dart 3 gets compile time dispatch, these other methods will be re-enabled.
0.8.4 #
- Bugfix for Flutter.
0.8.3 #
- Removed all the
Period.from*constructors, added a named constructor, constructorconst Period({this.years: 0, this.months: 0, this.weeks: 0, this.days: 0, this.hours: 0, this.minutes: 0, this.seconds: 0, this.milliseconds: 0, this.microseconds: 0, this.nanoseconds: 0});instead ofPeriod.fromYears(int years). - Moved collection: "^1.14.10" to collection: "^1.14.6" in order to satisfy Flutter unit testing requirements.
time_machine can not be unit tested directly in flutter because of a breaking change between
matcher: ^0.12.2+1 and matcher: 0.12.3 with regards to
TypeMatchergoing from an abstract non-instanced class to a regular instanced class. See flutter_test/pubspec.yaml.
0.8.2 #
- Instant constructors condensed:
Instant.utc,Instant,Instant.julianDate,Instant.dateTime,Instant.epochTime - Removed
fromfrom a lot of constructors, heavily redundant (well, maybe not so redundant with the loss ofnew) - Added a
timeZoneoverride to TimeMachine.init() so you can supply a localDateTimeZoneto Flutter if you something likeflutter_native_timezoneloaded as well. - CalendarSystem cleaned up.
0.8.0 #
- Dart 2.0 ready to go. TimeMachine 0.7.1 was the last version that will work on Dart 1.24.3.
- Added a lot of BigInt code, there is no going back now. Added
Time.canNanosecondsBeInteger,Time.fromBigIntNanoseconds(),Time.totalNanosecondsAsBigInt - The Dart2JS example compiled sized dropped by about 11%.
- Added a lot of BigInt code, there is no going back now. Added
0.7.1 #
- No more dart analysis errors on 1.24.3.
- Refactored away the port-helper KeyValuePair and OutBox classes.
- Fixed (or annotated) all unused variables, fields, elements, and imports issues.
0.7.0 #
- Updated
LocalDateTime.at()to reflect the LocalTime constructor update.- note: renamed
LocalDateTime.at()toLocalDateTime()and then renamed the originalLocalDateTime(LocalDate, LocalTime)toLocalDateTime.combine(LocalDate, LocalTime)
- note: renamed
- Added Badi, Coptic, Hebrew, Islamic, Persian, and UmAlQura calendars.
- Tested sat on VM/JS.
0.6.0 #
- Removed the concept of
ticksand replaced all the functions withmicroseconds; Rational: the only placeticksshows up as a concept is herehttps://api.dartlang.org/stable/1.24.3/dart-core/Stopwatch/elapsedTicks.html;ticksfrom .NET-land is 100 nanosecond unit of time;ticksfrom dart is based on a dynamicfrequencynumber, on my machines it's 1 us in the browser and 1 ns in the vm. - Simplified LocalTime constructors; now one generic + one that takes a
TimesinceMidnight. (from 7 initial) - Added microsecond/millisecond logic around
DateTimeconversions wrtPlatform - Cleaned up Offset - removed subsecond constructors, since Offset can't be subsecond, and made the fromSeconds constructor the default constructor.
0.5.0 #
- Major API Changes (Sorry!)
- Span (denotatively and connotatively wrong) to Time (to just connotatively wrong)
- text_patterns moved to time_machine_text_patterns from time_machine global (still thinking about what things should be not visible by default)
0.4.1 #
- Missed a logging reference (took it out).
0.4 #
- DartVM mirrors based unit tests can now be used to compute DartWeb non-mirrors based unit tests. All web-compatible unit tests are now passing, and TimeMachine is safe for use when compiling via Dart2JS.
0.3 #
- Coalesced imports into a single import and all
@internalfunctionality is now hidden.
0.2.2 #
- Fixed bug introduced in 0.2.1; (Conditional Imports are hard);
dart.library.jsseems to evaluate to false in DDC stable. Put back asdart.library.html.
0.2.1 #
- Fixed bug introduced in 0.2.0 causing TimeMachine.Initialize() to not fully await.
0.2.0 #
- No more specific imports for your platform. Flutter usage was streamlined significantly.
0.1.1 #
- Broke some things while making this work on many platforms. Fixed them (still need to do unit tests on js).
0.1.0 #
- Made some changes to try and less confuse Pana.
0.0.4 #
- Now works on Flutter, Web, and VM!
0.0.2 #
- Many things have been Dartified. Constructors consolidated, names are lowercased, @private usage heavily reduced.
0.0.1 #
- Initial version.