- Update TZDB to 2022a
- Support for Flutter on Windows, Linux and MacOS
- Update TZDB to 2020d.
- Fixed loading issues with web, flutter web, and flutter.
- 🐛 fix related to #39
- Updated TZDB to 2020b.
- Merged PR's #35, #36, #37, and #39.
- Updated TZDB to 2020a.
- Made some changes because of Pana.
- Added Interval.overlaps;
- Made some changes because of Pana.
- Fixes for ddc.
- Updated TZDB to 2019b.
- Fix for issue #15. Updated TZDB to 2018i.
- Fix for issue #13. May investigate better solution in the future.
- Updated TZDB to 2018g.
- Merged #1 - Fix for when cultureId is null
- Many API changes.
- LocalTime is now backed by a Nanosecond based Time Instance.
- Additional tests added.
- Performance improvements.
- Many API changes.
- Fix for Dart 2.0.
- Continued the API normalization work; removed add*, minus* where it did not
add any performance gains.
Time
plus
\minus
-->add
\subtract
, added anabs
method. LocalDateTime
\LocalDate
\LocalTime
addedperiodUntil
\periodSince
, removeddifference
, made static methoddifference
fromdifferenceBetween
- same with
OffsetDateTime
excepttime
vsperiod
- same with
- 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
- 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_time
and to do this,end_date - delta_time = start_date
but 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.
- Bugfix for Flutter.
- 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
TypeMatcher
going from an abstract non-instanced class to a regular instanced class. See flutter_test/pubspec.yaml.
- Instant constructors condensed:
Instant.utc
,Instant
,Instant.julianDate
,Instant.dateTime
,Instant.epochTime
- Removed
from
from a lot of constructors, heavily redundant (well, maybe not so redundant with the loss ofnew
) - Added a
timeZone
override to TimeMachine.init() so you can supply a localDateTimeZone
to Flutter if you something likeflutter_native_timezone
loaded as well. - CalendarSystem cleaned up.
- 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
- 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.
- 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.
- Removed the concept of
ticks
and replaced all the functions withmicroseconds
; Rational: the only placeticks
shows up as a concept is herehttps://api.dartlang.org/stable/1.24.3/dart-core/Stopwatch/elapsedTicks.html
;ticks
from .NET-land is 100 nanosecond unit of time;ticks
from dart is based on a dynamicfrequency
number, 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
Time
sinceMidnight. (from 7 initial) - Added microsecond/millisecond logic around
DateTime
conversions wrtPlatform
- Cleaned up Offset - removed subsecond constructors, since Offset can't be subsecond, and made the fromSeconds constructor the default constructor.
- 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)
- Missed a logging reference (took it out).
- 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.
- Coalesced imports into a single import and all
@internal
functionality is now hidden.
- Fixed bug introduced in 0.2.1; (Conditional Imports are hard);
dart.library.js
seems to evaluate to false in DDC stable. Put back asdart.library.html
.
- Fixed bug introduced in 0.2.0 causing TimeMachine.Initialize() to not fully await.
- No more specific imports for your platform. Flutter usage was streamlined significantly.
- Broke some things while making this work on many platforms. Fixed them (still need to do unit tests on js).
- Made some changes to try and less confuse Pana.
- Now works on Flutter, Web, and VM!
- Many things have been Dartified. Constructors consolidated, names are lowercased, @private usage heavily reduced.
- Initial version.