Skip to main content

fp_extensions 2.1.0 copy "fp_extensions: ^2.1.0" to clipboard
fp_extensions: ^2.1.0 copied to clipboard

Collection of extensions for Dart and Flutter includes String, List, Map, DateTime, and more.

fp_extensions #

Collection of extensions for dart and flutter. This package includes extensions for Iterable, num, Map, String, , DateTime, Duration, BuildContext, Color, Theme,File.

Usage #

for detailed documentations visit here

DateTime examples #

final date = DateTime(2025, 12, 2);

// ordinal days
date.ordinalDay();                      // 2nd
date.formatOrdinal('MMMM do, y');       // December 2nd, 2025
date.formatOrdinal("EEE do 'do' MMM");  // Tue 2nd do Dec  (quoted text is literal)

// relative time
DateTime.now().subtract(const Duration(hours: 5)).timeAgo();   // 5 hours ago
DateTime.now().add(const Duration(days: 3, hours: 1)).timeAgo(); // in 3 days

Ordinal suffixes are English only; locale still controls month and weekday names.

Localizing timeAgo #

English, Spanish, French and German are built in and picked from the locale's language code. Unknown languages fall back to English.

past.timeAgo(const Locale('es')); // hace 5 horas
past.timeAgo(const Locale('de')); // vor 5 Stunden

Add or override a language by extending TimeAgoMessages and registering it once at startup:

class NeTimeAgoMessages extends TimeAgoMessages {
  const NeTimeAgoMessages();
  @override String past(String text) => '$text अघि';
  @override String future(String text) => '$text पछि';
  @override String seconds(int n) => '$n सेकेन्ड';
  @override String get aMinute => 'एक मिनेट';
  @override String minutes(int n) => '$n मिनेट';
  @override String get anHour => 'एक घण्टा';
  @override String hours(int n) => '$n घण्टा';
  @override String get aDay => 'एक दिन';
  @override String days(int n) => '$n दिन';
  @override String get aMonth => 'एक महिना';
  @override String months(int n) => '$n महिना';
}

TimeAgoMessages.register('ne', const NeTimeAgoMessages());

You can also pass messages: for a single call, or override just the wording with pastSuffix / futurePrefix (an empty string drops it).

1
likes
160
points
186
downloads

Documentation

API reference

Publisher

verified publisherkishormainali.com

Weekly Downloads

Collection of extensions for Dart and Flutter includes String, List, Map, DateTime, and more.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, gap, intl, mime, path

More

Packages that depend on fp_extensions