time_machine
Date and time library for Flutter, Web, and Server with support for timezones, calendars, cultures, formatting and parsing.
0.9.17
21K downloads/mo
#2133 most downloaded on pub.dev
Dana-Ferguson/time_machine
What this package is like to depend on
Last release 4 years ago
no release in 18 months
Ships unpredictably
gaps range from 1 weeks to 1.4 years
Most releases are documented
notes for 34 of 40 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
40 releases · first in 2018
0 releases in the last 12 months
see the full history below
Release timeline
40 releases · Jun 2018 to Apr 2022Releases
latest 40-
0.9.1716 Apr 2022 -
0.9.1619 Nov 2020Release notes
Open source →- Update TZDB to 2020d.
- Fixed loading issues with web, flutter web, and flutter.
-
0.9.1512 Oct 2020 -
0.9.1412 Oct 2020 -
0.9.1302 Aug 2020 -
0.9.1223 Aug 2019 -
0.9.1123 Aug 2019 -
0.9.1019 Aug 2019 -
0.9.901 Jan 2019 -
0.9.813 Dec 2018 -
0.9.708 Dec 2018 -
0.9.628 Nov 2018 -
0.9.531 Oct 2018Release notes
Open source →- Many API changes.
- LocalTime is now backed by a Nanosecond based Time Instance.
- Additional tests added.
- Performance improvements.
-
0.9.406 Aug 2018 -
0.9.304 Aug 2018Nothing published for this version
-
0.9.201 Aug 2018Nothing published for this version
-
0.9.126 Jul 2018Release notes
Open source →- 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
- Continued the API normalization work; removed add*, minus* where it did not
add any performance gains.
-
0.9.025 Jul 2018Release notes
Open source →- 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
- Added a
-
0.8.522 Jul 2018Release notes
Open source →- 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.
- Constructor is now
-
0.8.422 Jul 2018 -
0.8.322 Jul 2018Release notes
Open source →- 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.
- Removed all the
-
0.8.216 Jul 2018Release notes
Open source →- 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.
- Instant constructors condensed:
-
0.8.115 Jul 2018Nothing published for this version
-
0.8.015 Jul 2018Release notes
Open source →- 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
- Dart 2.0 ready to go. TimeMachine 0.7.1 was the last version that will work on Dart 1.24.3.
-
0.7.113 Jul 2018Release notes
Open source →- 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.
- No more dart analysis errors on 1.24.3.
-
0.7.012 Jul 2018Release notes
Open source →- 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.
- Updated
-
0.6.008 Jul 2018Release notes
Open source →- 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.
- Removed the concept of
-
0.5.006 Jul 2018Release notes
Open source →- 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.101 Jul 2018 -
0.4.001 Jul 2018Nothing published for this version
-
0.3.027 Jun 2018Nothing published for this version
-
0.2.221 Jun 2018Release notes
Open source →- 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.
- Fixed bug introduced in 0.2.1; (Conditional Imports are hard);
-
0.2.121 Jun 2018Release notes
Open source →- Fixed bug introduced in 0.2.0 causing TimeMachine.Initialize() to not fully await.
-
0.2.020 Jun 2018Release notes
Open source →- No more specific imports for your platform. Flutter usage was streamlined significantly.
-
0.1.119 Jun 2018Release notes
Open source →- Broke some things while making this work on many platforms. Fixed them (still need to do unit tests on js).
-
0.1.018 Jun 2018 -
0.0.418 Jun 2018 -
0.0.316 Jun 2018Nothing published for this version
-
0.0.213 Jun 2018Release notes
Open source →- Many things have been Dartified. Constructors consolidated, names are lowercased, @private usage heavily reduced.
-
0.0.109 Jun 2018