NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #399 most downloaded on pub.dev
Type-safe DateTime and Duration calculations, powered by extensions.
Last release 10 months ago
07 Dec 2025
Release timing varies
gaps range from 1 weeks to 1.4 years
Nearly every release is documented
notes for 18 of 18 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
20 releases · first in 2019
Fix: include milliseconds and microseconds in timeOfDay getter by @ajayi-joseph in #78
Full Changelog: v2.1.5...v2.1.6
milliseconds and microseconds in timeOfDay extension to DateTimeAdding endOfDay getter by @FMorschel in #73
One column per quarter.
DateTime.shift method by @FMorschel in #71
isWorkday and isWeekday by @FMorschel in #65
isWeekend extension to DateTimeisWorkday extension to DateTimeHandle UTC during date by @Paitomax in #60
date by @Paitomax in #60Duration.clamp min=max bug by @FMorschel in #63Full Changelog: v2.1.1...v2.1.2
First and Last days extensions added by @FMorschel in #51
Full Changelog: v2.1.0...v2.1.1
firstDayOfWeek extension to DateTimelastDayOfWeek extension to DateTimefirstDayOfMonth extension to DateTimelastDayOfMonth extension to DateTimefirstDayOfYear extension to DateTimelastDayOfYear extension to DateTimeclamp extension to DateTimeclamp extension to DurationIntroduce package:clock dependency for more predictable testing
package:clock dependency for more predictable testingImplement utc support for copyWith operation
copyWith operationMigrate to null-safety
Introduce isAtSameYearAs extension to DateTime
isAtSameYearAs extension to DateTimeisAtSameMonthAs extension to DateTimeisAtSameDayAs extension to DateTimeisAtSameHourAs extension to DateTimeisAtSameMinuteAs extension to DateTimeisAtSameMillisecondAs extension to DateTimeisAtSameMicrosecondAs extension to DateTimeisLeapYear extension to DateTimedaysInMonth extension to DateTimefinal DateTime specificDate = DateTime(2021, 01, 01);
final DateTime otherDate = DateTime(2021, 02, 01);
print(specificDate.isAtSameYearAs(otherDate)); // true
print(specificDate.isAtSameMonthAs(otherDate)); // false
print(specificDate.isAtSameDayAs(otherDate)); // false
- Migrated to null-safe dart
Introduce isAtSameYearAs extension to DateTime
isAtSameYearAs extension to DateTimeisAtSameMonthAs extension to DateTimeisAtSameDayAs extension to DateTimeisAtSameHourAs extension to DateTimeisAtSameMinuteAs extension to DateTimeisAtSameMillisecondAs extension to DateTimeisAtSameMicrosecondAs extension to DateTimeisAtSameYearAs extension to DateTimeisAtSameMonthAs extension to DateTimeisAtSameDayAs extension to DateTimeisAtSameHourAs extension to DateTimeisAtSameMinuteAs extension to DateTimeisAtSameMillisecondAs extension to DateTimeisAtSameMicrosecondAs extension to DateTimeisLeapYear extension to DateTimedaysInMonth extension to DateTimeIntroduce isToday extension to Duration
isToday extension to DurationisTomorrow extension to DateTimewasYesterday extension to DateTimeIntroduce delay extension to Duration
delay extension to DurationcopyWith extension to DateTimeIterate through a DateTime range:
DateTime range:final DateTime start = DateTime(2019, 12, 2);
final DateTime end = start + 1.weeks;
final DateTime tuesday = start.to(end).firstWhere((date) => date.weekday == DateTime.tuesday);
Fix breaking change from v1.1.0 by introducing @deprecated flag
Breaking Change: renamed later to fromNow to align with other ecosystems
later to fromNow to align with other ecosystemsnum i.e doubleNamed extensions to allow discoverability
- Initial version
Unify extensions for int, Duration & DateTime
Your coding agent can read these notes before it upgrades. Set up the MCP server →